【问题标题】:How does one plot a 3D stacked histogram in R?如何在 R 中绘制 3D 堆叠直方图?
【发布时间】:2011-01-25 05:20:40
【问题描述】:

我想在 R 中绘制堆叠直方图;即在第三维中堆叠单个直方图。


感谢大家的建议,尤其是 Shane 的建议。

@hadley,我同意你的观点,但是,我的情况有所不同:我试图通过绘制四个堆叠直方图来传达的主要观点是尾部差异很大......将会被掩盖的部分是对我呈现的数据没有影响....此外,能够读取频率轴也不重要,因为我将绘制相对频率...

【问题讨论】:

    标签: r 3d histogram


    【解决方案1】:

    一个没有。这是一种糟糕的数据显示方式,因为前面的直方图遮住了后面的直方图,而且透视图几乎不可能从 y 轴上读取值。

    【讨论】:

    • 我也 100% 同意这一点:也就是说,正如 Duncan Murdoch 多次说过的那样,如果要使用这样的 3D 绘图,则使用 rgl 包,以便它是交互式的可以帮助解决其中的一些问题。旋转绘图可以减少遮蔽效果。
    • 除非前面的直方图不会遮挡后面的直方图,而透视图让一切都变得非常清晰
    • 并排直方图是比较直方图的正确方法吗(参考stackoverflow.com/questions/16273724/…)?
    【解决方案2】:

    您可以尝试使用rgl (see here) 或3dscatterplot (如in this example)。 Lattice 也支持这一点:

    library(lattice) 
    library(latticeExtra) 
    ?panel.3dbars
    

    你可以看到这个on the Learnr blog的例子。

    我不认为这在技术上是堆叠直方图(堆叠直方图将条形堆叠在一起)。此外,另一种直方图可能会提供更多信息:查看the ggplot2 the documentation here 中的一些示例。

     hist_cut <- ggplot(diamonds, aes(x=price, fill=cut)) 
     hist_cut + geom_bar() # defaults to stacking 
    

    另一种选择是使用网格代替,在 ggplot2 中使用 facet_wrap(参见 this post as an example)。

    【讨论】:

      猜你喜欢
      • 2021-04-22
      • 2015-07-12
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 2014-03-12
      • 1970-01-01
      • 2020-12-02
      • 2015-08-14
      相关资源
      最近更新 更多