使用stat_summary()使用变量进行刻度

时间:2015-10-05 12:46:36

标签: r plot ggplot2

如何在用stat_summary()绘制的条形图中生成突出显示三个因子变量平均值的刻度?

我制作了这张图:

CarPlot <- ggplot(data=mtcars, aes(x=factor(gear), y=mpg)) +
  stat_summary(aes(fill = factor(gear)), fun.y=mean, geom="bar")

并尝试添加scale_y_continuous(breaks=round(..y..,2))以利用内部计算的值..y..,但它无法正常工作。我是否必须首先为所有组计算所有方法并将其交给scale_y_continuous()

1 个答案:

答案 0 :(得分:1)

计算将为您提供最佳控制,但您可以执行以下操作:

CarPlot <- ggplot(data=mtcars, aes(x=factor(gear), y=mpg)) +
           stat_summary(aes(fill = factor(gear)), fun.y=mean, geom="bar")

cpgg <- ggplot_build(CarPlot)

CarPlot + scale_y_continuous(breaks=cpgg$data[[1]]$y)

enter image description here

利用ggplot2已为您完成的工作。