如何在R中的barplot的names.arg中有多行和不同的字体大小?

时间:2018-02-06 17:50:58

标签: r

我正在尝试创建一个条形图,其中每个条形图都有一个x轴标签“Name [linebreak] N = 123”,其中带有“N = 123”的第二行以较小的字体显示。

考虑这个例子:

t <- table(
    factor(c(1, 1, 1, 1, 1, 1, 2, 1, 2, 2)),
    factor(c(1, 1, 3, 2, 2, 2, 2, 2, 3, 1))
)
counts <- colSums(t)  # 3, 5, 2
colnames(t) <- c("A", "B", "C")
barplot(t)

该图看起来像这样(裁剪):

Result

我想将变量counts中每个级别A,B,C的计数添加到标签(用较小的字体),这样它看起来像这样:

Desired result

有没有办法在R中实现这个目标?

1 个答案:

答案 0 :(得分:2)

barplot返回“所有条形中点的坐标”(来自?barplot),您可以使用它来向图中添加文本。

b <- barplot(t)

mtext(paste("N = ", counts), side=1, line=2, at=b)

# Use `mtext` to easily write to plot margins
# side=1 : bottom
# line=2 : counts out the way - so (I think) one is at the axis labels, so one more
# at: use the positions calculated by barplot