【发布时间】:2011-01-25 05:20:40
【问题描述】:
我想在 R 中绘制堆叠直方图;即在第三维中堆叠单个直方图。
感谢大家的建议,尤其是 Shane 的建议。
@hadley,我同意你的观点,但是,我的情况有所不同:我试图通过绘制四个堆叠直方图来传达的主要观点是尾部差异很大......将会被掩盖的部分是对我呈现的数据没有影响....此外,能够读取频率轴也不重要,因为我将绘制相对频率...
【问题讨论】:
我想在 R 中绘制堆叠直方图;即在第三维中堆叠单个直方图。
感谢大家的建议,尤其是 Shane 的建议。
@hadley,我同意你的观点,但是,我的情况有所不同:我试图通过绘制四个堆叠直方图来传达的主要观点是尾部差异很大......将会被掩盖的部分是对我呈现的数据没有影响....此外,能够读取频率轴也不重要,因为我将绘制相对频率...
【问题讨论】:
一个没有。这是一种糟糕的数据显示方式,因为前面的直方图遮住了后面的直方图,而且透视图几乎不可能从 y 轴上读取值。
【讨论】:
rgl 包,以便它是交互式的可以帮助解决其中的一些问题。旋转绘图可以减少遮蔽效果。
您可以尝试使用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)。
【讨论】: