1

我有一个绘图功能,用于绘制/保存数据框中的每一列。要将aes()变量传递给 ggplot,我使用aes_string下面的精彩命令。

plot <- function(df, column) {
  y <- ggplot(df, aes_string(x="x", y="y", color=column, label="vector")) + geom_point() + theme_bw()
  ggsave(y, file=paste("plots/plot_", column,".png",sep="")) 
}

我现在想在文档scale_color_gradient2中添加 as ,但我想将 设置为列的平均值。有没有类似的方法可以将此值传递给函数?我尝试了以下方法,结果将图形点设置为灰色。midpoint

z = y + scale_color_gradient2(midpoint = mean(column))
z = y + scale_color_gradient2(midpoint = mean(df$column))

我想我可以通过预先计算值并将其传递给函数来解决这个问题,但我想知道是否有一种简单aes_string()的方法来做到这一点。

谢谢,扎克cp

4

0 回答 0