我有3个不同的人口(员工类型1,2和3)正在按照3个变量(学位,加权,偏心,偏心)进行评估,我希望在一组箱图中查看这些。
对于给定变量,这些箱图应该并排放置给每个人员类型,并且按变量放置3个垂直堆积图:类似于3 x 3矩阵的箱形图。
我当前的代码正在为变量生成所需的垂直堆叠,但在每个垂直堆叠的图形中,我有1个聚合箱图,其中应该有3个并排(3个工作人员类型各1个)。
qp <- ggplot(data, aes(stafftype., value, fill=stafftype.))
+ geom_boxplot() + facet_grid(variable~., scales = "free_y")
另请注意,3个侧面的箱形图中的每一个都应该按照工作人员类型进行着色,但我没有成功。
答案 0 :(得分:0)
以下是使用内置iris
数据框的示例。我们删除其中一个度量列,以便我们有三个而不是四个,然后melt
数据框,这样三个度量列就会被堆叠到&#34; long&#34;格式。 Species
类似于stafftype
,variable
类似于三个评估变量(degree,weighted.degree,eccentricity)。
library(reshape2)
ggplot(melt(iris[,-1], id.var="Species")) +
geom_boxplot(aes(Species, value, colour=Species), show.legend=FALSE) +
facet_grid(variable ~ .) +
theme_bw()
如果您希望每个图表都在一个单独的面板中,您可以这样做:
ggplot(melt(iris[,-1], id.var="Species")) +
geom_boxplot(aes("", value, colour=Species), width=0.5, show.legend=FALSE) +
facet_grid(variable ~ Species) +
theme_bw() +
theme(axis.ticks.x=element_blank()) +
labs(x="")