我想繪製類似於beanplot
或violin
繪圖的繪圖,但不是對稱形狀,我想在中心線的不同側繪製兩個不同的分佈。像這篇文章中的圖4一樣[pdf] http://www.jstatsoft.org/v28/c01/paper。如何在R中使用網格圖形繪製直方圖?
我想在R
中使用grid
圖形引擎。任何指針都會有用。我看了lattice
包和histogram
函數包,但這不是我想要做的。
任何幫助/指針表示讚賞。
我想繪製類似於beanplot
或violin
繪圖的繪圖,但不是對稱形狀,我想在中心線的不同側繪製兩個不同的分佈。像這篇文章中的圖4一樣[pdf] http://www.jstatsoft.org/v28/c01/paper。如何在R中使用網格圖形繪製直方圖?
我想在R
中使用grid
圖形引擎。任何指針都會有用。我看了lattice
包和histogram
函數包,但這不是我想要做的。
任何幫助/指針表示讚賞。
您可以通過對函數panel.violin
進行相當簡單的修改,在Sarkar的晶格包中合理輕鬆地獲得小提琴曲線圖。該函數中有四行可在grid.polygon
調用中更改,以從「雙面」密度繪圖變爲單面密度繪圖。第一個require(lattice)
和require(grid)
。然後鍵入panel.violin
。我會告訴你的「水平」變化:
require(grid)
panel.violin2 <-
# snipped all the arguments and processing
grid.polygon(x = c(dx.list[[i]]),
# Notice I removed: ... ,rev(dx.list[[i]])
y = c(2*dy.list[[i]] ), default.units = "native",
# Removed: ... , -rev(dy.list[[i]])
name = trellis.grobname(identifier, type = "panel",
group = group), gp = gpar(fill = col, col = border,
lty = lty, lwd = lwd, alpha = alpha))
也是從別的{...}子句中的相應欄目中刪除。現在你可以在幫助的例子運行(panel.violin)
bwplot(voice.part ~ height, singer,
panel = function(..., box.ratio) {
panel.violin2(..., col = "transparent",
varwidth = FALSE, box.ratio = box.ratio)
panel.bwplot(..., fill = NULL, box.ratio = .1)
})
如果你想對對方的密度,所有你需要做的是去除dx.list [[i]]和dy.list [[i]],並留在rev(dx.list[[i]])
和-rev(dy.list[[i]])
。
@BenBarnes它的第六頁(第六頁只有一個情節)。這確實是一個boxplot的選擇。 – MattLBeck
@Mottrition,Ooohh。這是一個有趣的情節。啊,圖4,不是第4頁。 – BenBarnes
我不完全確定OP需要什麼。從論文中可以清楚地看到,圖形可以使用'beanplot'生成,甚至可以使用代碼來實現。 – MattLBeck