2010-03-08 131 views
10

我想绘制R中堆积的直方图;即在第三维中堆叠单独的直方图。如何在R中绘制3D叠加直方图?


谢谢大家的建议,尤其是Shane的建议。我同意你的观点,但是,我的情况是不同的:我试图通过绘制四个堆积直方图来表达的主要观点是,尾巴显着变化......将被遮挡的部分在我呈现的数据中没有任何影响....并且,能够读取频率轴也不重要,因为我将绘制相对频率...

回答

6

您可以尝试使用rglsee here)或3dscatterplot(如in this example)。莱迪思也支持:

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)。

8

其中一个没有。这是一个可怕的数据显示,因为前面的直方图模糊了后面的直方图,透视使得从y轴读取数值几乎是不可能的。

+1

我同意100%同样如此:就像Duncan Murdoch曾多次表示的那样,如果有人打算使用这样的3D情节,那么使用'rgl'软件包以便它是互动的可以帮助解决一些这些问题。旋转阴谋可以减少模糊效果。 – Shane 2010-03-10 18:23:34

+0

除了前方直方图不会遮挡后方直方图以及视角使所有内容都绝对清晰的情况外 – Pete 2013-05-09 15:30:00

+0

并排直方图是比较直方图的正确方法(请参阅http://stackoverflow.com/questions/16273724/side并排直方图 - 在同一图中在r)? – tucson 2013-10-16 07:01:41