【发布时间】:2013-05-09 02:31:22
【问题描述】:
我有一个带有颜色图例的图,并想在其中添加一个总/平均 geom_... 系列。
例如:
d <- ggplot(data=mtcars, aes(x=cyl, y=mpg, color=factor(vs))) + geom_point()
d + stat_summary(fun.y = "mean", fun.ymin = "mean", fun.ymax = "mean", colour = "black")
我希望geom_ 的总颜色为黑色(在我的示例中有效),并在图例中具有“总计”标签(示例中缺少该标签)。新的“总计”标签应该是图例中的最后一个值。
在这个例子中,vs 的因子水平是 0 和 1。这在两个方面过度简化了我的情况:
- 我有很多因素水平,所以我正在寻找一种不需要手动操作图例中的颜色/标签的解决方案。
- “Total”在该数据集中自然排在最后(因为它按字母顺序排在 0 和 1 之后),但在我的数据集中,它位于中间的某个位置。那么这些因素可能需要重新排序?为了这个示例数据集的目的,假设应该首先列出“总数”,以显示如何重新排序标签。
最后,有时我认为stat_summary 无法正确计算平均值,因此我希望能够灵活地通过第二个数据集手动计算平均值或总数。例如:
d + geom_point(data = as.data.table(mtcars)[, list(avg = mean(mpg)), by = "cyl"] ... )
【问题讨论】:
-
this 有用吗?
-
感谢您的链接。您的类似问题的两个答案都涉及手动指定颜色和标签,这对我的应用程序来说太麻烦了。我将编辑我的问题以表明我有许多因子水平,并且我想为许多不同的数据集创建此图表(每个数据集具有不同的水平)。
-
你在情节中尝试过子集和分组吗?