2010-03-08 144 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