我有以下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