2015-02-28 5 views
0

Я пытался добавить пользовательский текст аннотации grob к моему сюжету в соответствии с веб-сайтом http://zevross.com/blog/2014/08/04/beautiful-plotting-in-r-a-ggplot2-cheatsheet-3. Я использую эту технику, чтобы добавить текст в нормализованные координаты. Когда я добавляю grob, текст не появляется на графике. Раньше я использовал эту процедуру, и она работала как чемпион. Для жизни я не могу понять, почему этот человек не работает.Отсутствует пользовательская аннотация Grob в ggplot2

Minimal пример здесь:

len = 100 
pd = data.frame(x = runif(50)*len - len/2, y = runif(50)*len - len/2) 

my_grob = grobTree(textGrob('Some Text', x=0.5, y=0.5, hjust=0.5, gp=gpar(col='black', fontsize=12, fontface="italic"))) 

rp = ggplot() + theme_bw() + 
    theme(axis.text = element_blank(), axis.ticks = element_blank(), axis.title = element_blank()) + 
    theme(panel.grid = element_blank(), panel.border = element_blank()) + 
    geom_point(data = pd, aes(x = x, y = y)) + 
    coord_equal(xlim = c(-len/2, len/2)*1.1, ylim = c(-len/2, len/2)*1.1) + 
    annotation_custom(my_grob) 
rp 

Может кто-нибудь помочь мне узнать, что я здесь отсутствует? Я думал, что это могут быть изменения темы, но когда я их вынул, проблема все еще сохранялась. (Да, после того, как я сказал, что могу удалить их из выше, чтобы сделать его более минимальным ... Но я собираюсь оставить его для полного эффекта). Спасибо за понимание.

+0

Просто включите данные в свой 'ggplot' – DatamineR

+0

Я могу добавить, что есть, но есть ли способ избежать этого? Иногда я генерирую разные наборы данных для каждой геометрии, и мне кажется, что лучше всего их обрабатывать, указав аргумент 'data' в функциях' geom-XXXX'. –

ответ

1

Как было указано в комментарии выше, RSTudent, все, что мне нужно было сделать, это выбрать один из моих наборов данных для подачи на конструктор ggplot(). Хотя это сработало, я надеялся, что мне не придется это делать.

Смежные вопросы