Метки осей упираются в ось при экспорте графиков с отрицательной длиной деления (ggplot2)

У меня возникли проблемы с экспортом простой диаграммы рассеяния в файл PDF в ggplot2. В частности, когда я устанавливаю длину деления на отрицательное значение (обязательное), метки деления сливаются с линией оси (как показано ниже).

Ярлыки проблемных галочек

Рисунок обычно отображается в окне графика rstudio, но когда я экспортирую в pdf, возникает проблема. Изменение vjust в axis.text.x, похоже, вообще не помогает. Я также пытался манипулировать полями сюжета.

Кто-нибудь знает способ отодвинуть метки от оси в такой ситуации?

Надеемся, что приведенный ниже код должен воспроизвести проблему.

data = data.frame(xvar = seq(1:20), yvar = seq(1:20), labvar = rep(c("A", "B"), 10))

require(ggplot2)
require(gridExtra)
p <- ggplot(data = data, aes(x = xvar, y = yvar)) +  geom_point() +
  facet_wrap(~labvar, scales = "fixed") +    
  theme_classic()+
  theme(axis.ticks.length=unit(-0.1, "cm"),
  axis.text.x=element_text(vjust = 0))

p

person Adam Kimberley    schedule 22.01.2014    source источник
comment
См. старый комментарий Хэдли по этому поводу: groups.google.com/forum/# !topic/ggplot2/C0iGwoJy-Pw Думаю, поэтому vjust не работает. Является ли unit(-0.05, "cm") доступным? Это исправило перекрытие для меня.   -  person tonytonov    schedule 22.01.2014
comment
@tonytonov Спасибо за ссылку, интересное обсуждение. Уменьшение длины тиков, похоже, является одним из способов выполнения работы, ура.   -  person Adam Kimberley    schedule 22.01.2014


Ответы (1)


Попробуйте использовать axis.ticks.margin:

p + theme(axis.ticks.margin = unit(5, "lines"))

введите здесь описание изображения


Я заметил, что документация для ?theme теперь включает список всех элементов темы и того, что они делают.

person Andrie    schedule 22.01.2014
comment
Это именно то, чего я добивался. Не знаю, как я пропустил это в документации, но спасибо. - person Adam Kimberley; 22.01.2014