2014-12-21 4 views
1

Можно ли опустить короткие тики при использовании annotation_logticks? I.e., я хочу только тики для 10 и 5, а не 1 тик.Отключить короткие тики на annotation_logticks

Я попытался установить short=unit(0,"cm"). Однако короткие тики по-прежнему отображаются как точки.

Если это невозможно с annotation_logticks, есть ли другие способы достижения этого?

Пример:

library(ggplot2) 
library(grid) 
library(scales) 
tikz("test.pdf",standAlone=TRUE,12,3) 
ggplot(data=data, aes(x=step,y=opsPerSecond,fill=hidx)) + 
     geom_bar(position="dodge", stat="identity") + 
     scale_y_continuous(
       trans = log10_trans(), 
       breaks = trans_breaks("log10", function(x) 10^x), 
       labels = trans_format("log10", math_format(10^.x)) 
     ) + 
     annotation_logticks(sides="lr",short=unit(0,"cm")) 

Вот картина проблемы: enter image description here

Как вы видите, точки на оси все еще видны, даже с short=unit(0,"cm")!

PS: Я использую двигатель tikz в качестве выхода.

+0

Просьба воспроизводимый пример. Установка 'short = unit (0," mm ")' в последнем примере в '? Annotation_logticks' отлично работает для меня. – Henrik

+0

@ Хенрик: Добавлено. Также добавлена ​​фотография полученного PDF. – gexicide

+0

Спасибо за скриншот. Я понял, что это 'theme_bw' в примере'? ​​Annotation_logticks', который рисует черный квадрат вокруг сюжета и покрывает «точки». Если я запустил пример с темой по умолчанию, точки будут видны. Вы можете использовать этот пример в своем посте, чтобы сделать его воспроизводимым и легким для людей. – Henrik

ответ

0

Я использовал iris воспроизвести вашу проблему, и, кажется, решение

annotation_logticks(sides="lr", short = unit(NA, "cm")) 
Смежные вопросы