当使用facet_wrap生成箱图时,ggplot2会在框之间留下大量空间。我想让它们更广泛。
library(ggplot2)
packageVersion("ggplot2")
ggplot(diamonds, aes(x = cut, y = price)) +
geom_boxplot(varwidth = FALSE) +
facet_wrap("color")
我相信这是因为它需要留下空间以防需要绘制不需要在每个面板中绘制的因子水平组合。为了检查这一点,我生成了一个类似的图,其中一个新变量是cut
color
,在x轴上绘制,facet_wrapped color
和scales = "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")
任何有关如何解决此问题的想法都将受到赞赏。
答案 0 :(得分:1)
geom_boxplot中的width参数可以解决这个问题:
ggplot(diamonds, aes(x = cut, y = price)) +
geom_boxplot(width = .6, position = "dodge") +
facet_wrap("color")