我正在创建许多直方图,我想在图表顶部添加注释。我正在使用 for 循环绘制这些,因此我需要一种方法将注释放在顶部,即使我的 ylims 从一个图形更改为另一个图形。如果我可以将每个图形的 ylim 存储在循环中,我可以使注释的 y 坐标根据当前图形而变化。我在注释中包含的 y 值必须随着循环在迭代中的进行而动态变化。这是一些示例代码来演示我的问题(注意注释是如何移动的。我需要根据每个图的 ylim 来更改它):
library(ggplot2)
cuts <- levels(as.factor(diamonds$cut))
pdf(file = "Annotation Example.pdf", width = 11, height = 8,
family = "Helvetica", bg = "white")
for (i in 1:length(cuts)) {
by.cut<-subset(diamonds, diamonds$cut == cuts[[i]])
print(ggplot(by.cut, aes(price)) +
geom_histogram(fill = "steelblue", alpha = .55) +
annotate ("text", label = "My annotation goes at the top", x = 10000 ,hjust = 0, y = 220, color = "darkred"))
}
dev.off()