R中y轴的箱线图刻度值?

时间:2019-06-30 01:26:46

标签: r axis boxplot

我试图在R中创建一个箱形图,但是,我发现该图的y轴刻度值错误。

.rdata位于https://www.dropbox.com/s/vbgf3mhgd2mjx8o/Mydata2.rdata?dl=0

load("Mydata2.rdata",.GlobalEnv)
boxplot(Value~Type+Level, data=Mydata2)

如图所示,y轴标记为“ 0、50、100”,但是我的数据范围为-36.9至133.7。我想知道如何解决这个问题? enter image description here

2 个答案:

答案 0 :(得分:5)

在这里,我使用minmeanmax作为刻度线。您可以手动将它们设置为任何值,甚至可以超过3个刻度。 yaxt="n"防止使用默认刻度线,然后使用axis并将侧面设置为2axis(2,...),添加所需的刻度线。阅读R中的?axis

boxplot(Value~Type+Level, yaxt="n", data=Mydata2)
axis(2, 
     at=round(c(min(Mydata2$Value), mean(Mydata2$Value), max(Mydata2$Value)),1),
     labels = T)

跟进问题:如何计算默认刻度线?

“当at = NULL时,将在内部计算漂亮的刻度线位置(与axTicks(side)相同)。”

因此,您的代码正在运行。 boxplot会选择默认刻度线,因此它更漂亮(很漂亮是主观的)。

答案 1 :(得分:3)

两种方法:

  1. 通过friendLimitReached(self)的{​​{1}}参数分别设置每个刻度线(reject(new Error(self + " Friend limit reached")) 是定义每个刻度线的数字向量):
res
  1. 通过{}的{​​{1}}参数定义刻度线的范围。因此,将刻度线的范围设置为-40至140:
axis

方法2有时有效,但并非总是如此。方法1更可靠且可自定义,因此应更经常使用。