R

时间:2016-09-03 23:33:12

标签: r ggplot2

我有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个侧面的箱形图中的每一个都应该按照工作人员类型进行着色,但我没有成功。

resulting boxplot graph

1 个答案:

答案 0 :(得分:0)

以下是使用内置iris数据框的示例。我们删除其中一个度量列,以便我们有三个而不是四个,然后melt数据框,这样三个度量列就会被堆叠到&#34; long&#34;格式。 Species类似于stafftypevariable类似于三个评估变量(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()

enter image description here

如果您希望每个图表都在一个单独的面板中,您可以这样做:

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="")

enter image description here