我想创建一个条形图,按因子总结我的数据平均值。然后,我想使条形图的填充颜色反映均值。我无法填补工作。我认为stat_summary()
就是这样。
使用diamonds
数据集:
p <- ggplot(data = diamonds,
aes(x = cut, y = price, fill = price)) +
stat_summary(fun.y = "mean", geom= "bar" )
p
答案 0 :(得分:1)
这是一种方法:
p <- ggplot(data = diamonds,
aes(x = cut, y = price)) +
stat_summary(fun.y = "mean", geom= "bar", aes(fill = ..y..))
当您对某些数据调用统计摘要时,转换后的数据与原始数据的名称不同,可以通过制作ggplot对象并对其调用ggplot_build
来进行检查。
head(ggplot_build(p)$data[[1]])
fill x group ymin y ymax PANEL xmin xmax colour size linetype alpha
1 #4894D0 1 1 0 4358.758 4358.758 1 0.55 1.45 NA 0.5 1 NA
2 #2D5F89 2 2 0 3928.864 3928.864 1 1.55 2.45 NA 0.5 1 NA
3 #306592 3 3 0 3981.760 3981.760 1 2.55 3.45 NA 0.5 1 NA
4 #56B1F7 4 4 0 4584.258 4584.258 1 3.55 4.45 NA 0.5 1 NA
5 #132B43 5 5 0 3457.542 3457.542 1 4.55 5.45 NA 0.5 1 NA
您可以通过使用语法..variable..
(例如..y..
)来使用此数据中定义的某些变量作为映射。