【发布时间】:2020-10-27 10:57:07
【问题描述】:
我有一个 23 df 的列表 plotDat,我正在使用 ggplot、lapply 和一个匿名函数为每个数据框创建和导出图表。对于每个 df,图表表示浓度列(Y 轴)与年份列(X 轴)。
pdf("Plots.pdf")
lapply(names(plotDat), function(i){
ggplot(plotDat[[i]], aes(Year, Concentration, group = Chemicals, col = Chemicals)) +
geom_line() +
geom_point() +
ggtitle(paste("", i)) +
scale_x_continuous(breaks = round(seq(min(Data_total$Year), max(Data_total$Year), by = 1),1)) +
xlab("Year") +
ylab("Concentration in (Mol/L or Mol/Kg)")
})
dev.off()
问题在于,根据 df,浓度以两种不同的单位(摩尔/升和摩尔/千克)给出。每个 df 都有一个名为 Unit 的列,其中包含 Mol/L 或 Mol/Kg。现在,我添加了ggplot ... ylab("Concentration in (Mol/L or Mol/Kg)"),但这并不严格,我希望为每个地块在ylab 中获得正确的单位。
我的问题是:是否可以在ylab 中添加一个字符串“concentration in” 和在ggplot 中表示plotDat$Unit[[i]] 的字符?
ylab(plotDat$Unit[i]) 实际上没有工作
【问题讨论】: