对于我的数据列表(data_l
)的每个元素,我得到了一个带有这个简单函数的图:
data_l <- split(data,list(data$Sample.type,data$Locality), drop=TRUE)
lapply(names(data_l), function(i){
ggplot(data_l[[i]], aes(Date, Concentration, group = Chemicals, col = as.factor(Chemicals))) +
geom_line() +
geom_point() +
facet_grid(cols = vars(Chemicals), rows = vars(Locality), scales = "fixed") +
ylab(paste("Concentrations in", data_l[[ i ]]$Measuring.Unit[ 1 ])) +
ggsave(paste(i, ".png", sep = ""), dpi = 400, width = 30, height = 20, units = "cm")
})
dev.off()
我固定在ggsave
20 厘米的高度。但是,根据构面的数量,必须针对列表的每个元素调整绘图大小。
是否可以为“高度”定义一个函数来ggsave
考虑 in 的rows
数量facet_grid
?(如果是 1 行,则为 10 厘米facet_grid
,如果是 2 行,则为 20 厘米,...)