我有以下GGPLOT2情節:轉換箱圖來密度在GGPLOT2中的R
ggplot(iris) + geom_boxplot(aes(x=Species, y=Petal.Length, fill=Species)) + coord_flip()
我想代替繪製此爲水平密度圖或柱狀圖,含義爲每個物種密度線圖或直方圖代替的箱型圖。這不會做的伎倆:
> ggplot(iris) + geom_density(aes(x=Species, y=Petal.Length, fill=Species)) + coord_flip()
Error in eval(expr, envir, enclos) : object 'y' not found
爲了簡單起見,我用Species
作爲x
變量,爲fill
但在我的實際數據,X軸代表一組條件和填充代表了另一種。儘管這對繪圖目的應該不重要。我試圖讓X軸表示不同條件,其值y
被繪製爲密度/直方圖而不是箱形圖。
編輯這更好地說明了一個變量,它具有兩個因子類變量,如物種。在mpg
數據集中,我想爲每個製造商製作一個密度圖,繪製每個cyl
值的分佈圖displ
。 x軸(在翻轉座標中是垂直的)代表每個製造商,並且直方圖的值是displ
,但是對於每個製造商,我希望有與該製造商的cyl
值一樣多的直方圖。希望這更清楚。我知道這不起作用,因爲y=
需要計數。
ggplot(mpg, aes(x=manufacturer, fill=cyl, y=displ)) +
geom_density(position="identity") + coord_flip()
我得到的最接近的是:
> ggplot(mpg, aes(x=displ, fill=cyl)) +
+ geom_density(position="identity") + facet_grid(manufacturer ~ .)
但我不想不同網格,我想他們是在像直方圖情況下,同樣的情節不同的條目。
我已經展示了我能想到的兩種方式(您已經排除了其中之一 - 切面)。看看對方是否有幫助。如果不是,對不起,我無法幫助。 – Arun 2013-03-07 15:28:38