Как изменить размер шрифта в geom_text () вне области графика?

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

Вот минимальный пример из вышеупомянутого решения:

library (ggplot2)
library(grid)

df=data.frame(y=c("dog1","dog2","dog3"),x=c(12,10,14),n=c(5,15,20))
p <- ggplot(df, aes(x,y)) + geom_point()

# Add the annotation
p <- p + geom_text(aes(label = "Hello World!", x = 0, y = 0), vjust = 2, hjust = 1)

# Code to override clipping
gt <- ggplot_gtable(ggplot_build(p))
gt$layout$clip[gt$layout$name == "panel"] <- "off"
grid.draw(gt)

В идеале записка должна быть в нижнем левом углу.


person Ole    schedule 17.06.2016    source источник
comment
Если вы используете пример из связанного вопроса (в котором используются annotation_custom и textGrob), измените значение cex, чтобы изменить размер шрифта. Вместо cex вы также можете использовать параметр fontsize для установки размера шрифта в пунктах. Например, вместо cex=1.5 сделайте fontsize=12 (или любой другой размер, который вам больше нравится). Чтобы узнать о других параметрах, связанных с внешним видом текста, см. Справку для gpar.   -  person eipi10    schedule 18.06.2016
comment
Я предпочитаю такой подход: stackoverflow.com/a/17493256/471093, потому что отключение обрезки может иметь нежелательные последствия.   -  person baptiste    schedule 18.06.2016


Ответы (1)


person    schedule
comment
Если вы не собираетесь использовать annotation_custom, вам следует создать новый фрейм данных для geom_text. В противном случае, Hello World! будет перекрыт 3 раза, по одному разу для каждой строки родительского фрейма данных. Вот почему текст аннотации выглядит неровным. Вы можете показать, что происходит перекрытие графика, если сделаете x=c(1,3,5) в вызове geom_text, чтобы разложить три копии Hello World !. - person eipi10; 18.06.2016
comment
@ eipi10: это тоже меня беспокоило. Спасибо за объяснение. - person Ole; 18.06.2016