使用ggplot2中的facet_wrap增加箱线图的最大宽度

时间:2017-11-09 19:32:51

标签: r ggplot2

当使用facet_wrap生成箱图时,ggplot2会在框之间留下大量空间。我想让它们更广泛。

library(ggplot2)
packageVersion("ggplot2")
ggplot(diamonds, aes(x = cut, y = price)) +
  geom_boxplot(varwidth = FALSE) +
  facet_wrap("color")

Figure 1

我相信这是因为它需要留下空间以防需要绘制不需要在每个面板中绘制的因子水平组合。为了检查这一点,我生成了一个类似的图,其中一个新变量是cut color,在x轴上绘制,facet_wrapped colorscales = "fixed"。看起来两个图中的框宽度都是相同的。

library(dplyr)
diamonds2 <- mutate(diamonds, CUTxCOLOR = paste(cut, color, sep = "."))
ggplot(diamonds2, aes(x = CUTxCOLOR, y = price)) +
  geom_boxplot(varwidth = FALSE) +
  facet_wrap("color", scales = "fixed")

Figure 2

任何有关如何解决此问题的想法都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

geom_boxplot中的width参数可以解决这个问题:

ggplot(diamonds, aes(x = cut, y = price)) + 
  geom_boxplot(width = .6, position = "dodge") + 
  facet_wrap("color")