如何在组图之间创建组之间的间距并控制轴标签的大小?

我想在从min(x)max(x)的箱线图中显示x轴上的所有值。 样本数据:

set.seed(4)
x <- sample(1:30,100,replace = TRUE)
y <- sample(1:25,replace=TRUE)
z <- sample(LETTERS[1:2],replace = TRUE,prob = c(.5,.5))
boxplot(y ~ z + x,las = 2,col = c(5,7))
abline(v=seq(2.5,60,2),col = "grey60",lty = "dotted") # For orientation
sort(unique(x))

这里的6、27和29不包含在x中。仍然可以在我的x轴上放置它们,但是当然没有箱形图吗?以B.1表示,尽管没有可用的值。我将对普通箱形图和ggplot2箱形图的解决方案感兴趣。

此外,还有一种方法可以减小箱形图之间的距离,例如graphics :: boxplot中的A.1和B.1,就像ggplot2中的position = position_dodge(.9))框图一样? (或者增加B.1和A.2之间的距离?)

可以肯定地说,这个问题以前发生过,我可能找不到适合我问题的正确翻译。

谢谢!

ujuj010203 回答:如何在组图之间创建组之间的间距并控制轴标签的大小?

要控制boxplot()框之间的距离,我们可以使用at选项,该选项“默认为1:n,其中n是框数” 。相反,默认情况下,我们提供向量VEC

要控制轴标签的大小,我们可以使用cex.axis,例如cex.axis=.8

示例

我以?boxplot帮助页面中的数据为例,该数据不会占用太多空间。

len将根据dose ~ supp进行分组。因此,盒子的数量是相应prod的{​​{1}}个镜片的dim uct。利用这些信息,我们从长度为table的序列中创建了向量VEC(并按情况进行了一些自定义),从中我们从第二个元素中减去了所需的调整量。

n

情节比较

n <- prod(dim(with(ToothGrowth,table(dose,supp))))
VEC <- seq(1,n/2,length.out=n)*2 - c(0,.2)
# [1] 2.0 2.6 3.6 4.2 5.2 5.8

enter image description here

这当然可能需要进行大小写调整,但是您现在已经有了主意。

本文链接:https://www.f2er.com/3160742.html

大家都在问