多个图输出的唯一标题

时间:2016-03-29 18:16:32

标签: r ggplot2

继续我的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传递给多个绘图输出吗?

1 个答案:

答案 0 :(得分:1)

ggtitle(dat$STATION_NAME[1])应该有效。在ggplot中,您只能在aes()内使用未加引号的列名,或者在分面的情况下在公式中使用。此外,大概每个数据框都有多行,因此我指定STATION_NAME列的第一个值,因为您只需要一个标题(我怀疑ggtitle是否已被矢量化。)