我有一个绘图功能,我用它来绘制/保存数据框中的每一列。要将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=""))
}
我现在想在docs中添加scale_color_gradient2
,但我想将midpoint
设置为列的平均值。是否有类似的方法将此值传递给函数?我尝试了以下操作,导致将图形点设置为灰色。
z = y + scale_color_gradient2(midpoint = mean(column))
z = y + scale_color_gradient2(midpoint = mean(df$column))
我想我可以通过预先计算值并将其传递给函数来解决这个问题,但我想知道是否有一种简单的aes_string()
- 就像这样做。
感谢, zach cp