继续我的Multiple Plots问题
我正在尝试为每个情节输出分配一个唯一的标题
数据有点长,所以这里是一个子集
> BC_yr[1:50,]
Source: local data frame [50 x 3]
Groups: STATION_NAME [2]
STATION_NAME year CLDD_yr
(chr) (chr) (int)
1 ALBUQUERQUE FOOTHILLS NE NM US 1992 3341
2 ALBUQUERQUE FOOTHILLS NE NM US 1993 4443
3 ALBUQUERQUE FOOTHILLS NE NM US 1994 5319
4 ALBUQUERQUE FOOTHILLS NE NM US 1995 5070
5 ALBUQUERQUE FOOTHILLS NE NM US 1996 5338
6 ALBUQUERQUE FOOTHILLS NE NM US 1997 5105
7 ALBUQUERQUE FOOTHILLS NE NM US 1998 5571
8 ALBUQUERQUE FOOTHILLS NE NM US 1999 3482
9 ALBUQUERQUE FOOTHILLS NE NM US 2000 5457
10 ALBUQUERQUE FOOTHILLS NE NM US 2001 5461
现在想象STATION_NAME下还有其他7个位置......
pl <- dlply(BC_yr, .(STATION_NAME), function(dat) {
ggplot(data = dat, aes(x = year, y = CLDD_yr, group = STATION_NAME)) + geom_line() +
geom_point() + xlab("Year") + ylab("Yearly CLDD") +
ggtitle(STATION_NAME) +
geom_smooth(method = "lm")
})
pl
ml <- do.call(arrangeGrob, c(pl, list(nrow = 8, ncol = 1)))
ggsave("my_plots.pdf", ml, height = 30, width = 13, units = "in", limitsize = FALSE)
除了ggtitle(STATION_NAME)
部分第4行中的pl <-
部分之外,
就像魅力一样
可以建议一种方法将唯一STATION_NAMES
传递给多个绘图输出吗?
答案 0 :(得分:1)
ggtitle(dat$STATION_NAME[1])
应该有效。在ggplot中,您只能在aes()
内使用未加引号的列名,或者在分面的情况下在公式中使用。此外,大概每个数据框都有多行,因此我指定STATION_NAME
列的第一个值,因为您只需要一个标题(我怀疑ggtitle
是否已被矢量化。)