【问题标题】:How do I get all the labels displayed on the log axis?如何获取日志轴上显示的所有标签?
【发布时间】:2012-12-06 02:33:20
【问题描述】:

我想将自己的标签放在箱线图的对数转换 y 轴上:

with(TX, boxplot(b~tx, ylab="Biomass, g/m2, ln", yaxt="n", las=2, log="y", cex.axis=0.7))

数据:

pretty(log(TX$b))

[1] -6 -4 -2  0  2  4  6

length(levels(TX$tx))

[1] 22

我试过了:

axis(2, at=pretty(log(TX$b)), labels=pretty(log(TX$b))) and 

axis(2, at=c(-6, -3, -1, 0, 1, 3, 6), labels=c(-6, -3, -1, 0, 1, 3, 6)), 

但在这两种情况下都只显示正值(和相应的刻度!)。是什么原因,我该如何解决这个问题?

【问题讨论】:

    标签: r boxplot axis-labels


    【解决方案1】:

    您已使用 log = 'y' 转换调用 plot 中的 y 变量。

    这意味着您将at 组件作为未转换比例上的值传递。

    axis(2, at= exp(c(-6, -3, -1, 0, 1, 3, 6)), labels=c(-6, -3, -1, 0, 1, 3, 6))
    

    一个可重现的例子

    set.seed(1)
    TX <- data.frame(tx = gl(2,3), y= rlnorm(600, mean = -1, sd = 3))
    boxplot( y~tx, data = TX, log = 'y',yaxt="n", las=2,  cex.axis=0.7)
    axis(2, at= exp(c(-6, -3, -1, 0, 1, 3, 6)), labels=c(-6, -3, -1, 0, 1, 3, 6))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多