我想用变量 (k) 为每个图命名,我用来在 for 循环中迭代:
> 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) 的值作为每个图的标题包含的任何建议?
MyData$Name 中的数据是什么类?
尝试将ggtitle(k)
替换为ggtitle(as.character(k))
,以确保传递ggtitle
字符串。
您可以使用
paste()
,例如:
ggtitle(paste(your_value))