0

对于我的数据列表(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()

我固定在ggsave20 厘米的高度。但是,根据构面的数量,必须针对列表的每个元素调整绘图大小。

是否可以为“高度”定义一个函数来ggsave考虑 in 的rows数量facet_grid?(如果是 1 行,则为 10 厘米facet_grid,如果是 2 行,则为 20 厘米,...)

4

0 回答 0