我希望能够用for循环中的变量(k)为每个图表命名标题:
当使用字符串作为
> MyData
Name Stat Year value
1 Site01 Max 2013 29.88
2 Site01 Med 2013 29.67
3 Site01 Min 2013 29.16
4 Site01 Max 2020 31.21
5 Site01 Med 2020 30.38
6 Site01 Min 2020 29.38
7 Site01 Max 2040 35.50
8 Site01 Med 2040 33.17
9 Site01 Min 2040 29.60
10 Site02 Max 2013 53.70
11 Site02 Med 2013 53.49
12 Site02 Min 2013 53.20
13 Site02 Max 2020 53.10
14 Site02 Med 2020 53.01
15 Site02 Min 2020 52.55
16 Site02 Max 2040 52.04
17 Site02 Med 2040 51.74
18 Site02 Min 2040 50.98
pdf("plots.pdf")
for (k in unique(MyData$Name)){
subdata <- subset(MyData, Name == k)
print(ggplot(subdata, aes(x = Year, y = value, colour = Stat))
+ geom_line() + expand_limits(y=c(0,100)) + ggtitle(k))
}
dev.off()
当使用字符串作为
ggtitle()
(例如:ggtitle("Name")
)或完全删除ggtitle()
时,图形生成得很好。
如何在每个图形的标题中包含迭代变量(k)的值?有什么建议吗?
ggtitle(as.character(k))
后问题得到解决。 - viridiusggplot(subdata, aes(x = Year, y = value, colour = Stat, group=Name)) + geom_line() + expand_limits(y=c(0,100)) + facet_wrap(~Name)
,而不是使用 for 循环呢? - Adam Quek