【问题标题】:Labelling every category in R bar plot / box plot: `gap.axis` equivalent?在 R 条形图/箱形图中标记每个类别:`gap.axis` 等效?
【发布时间】:2021-08-07 11:42:20
【问题描述】:

我在 R 中使用 boxplotbarplot 绘制条形图和箱线图,空间很紧。我将每个条/框都标记为可见,但 R 会自动隐藏它认为会使显示过于狭窄的标签。

axis() 有参数gap.axisboxplotbarplot 是否有等效项?

绘图 barplot(..., axes = FALSE); axis(1, gap.axis = 0) 不起作用,因为 x 轴的位置与条形的位置不对应。

可重现的例子:

boxplot(matrix(1:100, 10, 10), cex.axis = 2)
barplot(setNames(1:10, 1:10), cex.names = 2)

【问题讨论】:

标签: r plot


【解决方案1】:

在 R 4.1.0 中,barplot() 传递 gap.axis... 一起传递到 axis(),产生所需的效果。要抑制由gap.axis 产生的警告也被传递给其他绘图函数(reported 作为一个错误),请使用:

suppressWarnings(barplot(setNames(1:10, 1:10),
                         cex.names = 2, gap.axis = -10))

[已编辑:] 从 R4.1.0-patched80484 开始,gap.axis 原生支持 boxplot(),感谢 Martin Maechler

作为旧版本 R 的解决方法,请使用:

dat <- matrix(1:100, 10, 10)
boxplot(dat, axes = FALSE)
axis(1, seq_len(ncol(dat)), colnames(dat),
     cex.axis = 2, gap.axis = -10)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    相关资源
    最近更新 更多