【问题标题】:Create a stacked density graph in ggplot2在 ggplot2 中创建堆叠密度图
【发布时间】:2012-10-10 09:53:41
【问题描述】:

我正在尝试在 ggplot2 中创建堆叠密度图,并且我还试图了解 qplot 相对于 ggplot 的工作原理。

我在网上找到了以下示例:

qplot(depth, ..density.., data=diamonds, geom="density", 
  fill=cut, position="stack")

我尝试将其转换为对 ggplot 的调用,因为我想了解它是如何工作的:

ggplot(diamonds, aes(x=depth, y=..density..)) + 
  geom_density(aes(fill=cut, position="stack"))

这会创建一个密度图,但堆叠它。

qplot 正在创建的内容与 ggplot 正在创建的内容有什么不同?

这是一个堆积密度图:

非堆叠密度图:

原来的例子是here

【问题讨论】:

  • position="stack" 应该放在aes之外
  • 我的建议,如果你正在学习 ggplot:忽略 qplot。我发现语法令人困惑,虽然它可以为您节省一些击键,但会让您更加心碎。

标签: r ggplot2


【解决方案1】:

从@kohske 的评论来看,这个位置不是审美,所以不应该在aes 调用中:

ggplot(diamonds, aes(x=depth, y=..density..)) + 
  geom_density(aes(fill=cut), position="stack")

或使用电影数据(您的示例图表使用):

ggplot(movies, aes(x=rating, y=..density..)) + 
  geom_density(aes(fill=mpaa), position="stack")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-11
    • 2022-11-02
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 2012-05-10
    • 1970-01-01
    相关资源
    最近更新 更多