[英]Boxplot tick values for the y-axis in R?
我正在尝试在 R 中创建一个箱线图,但是,我发现该图的 y 轴刻度值错误。
.rdata 可在https://www.dropbox.com/s/vbgf3mhgd2mjx8o/Mydata2.rdata?dl=0 获得
load("Mydata2.rdata",.GlobalEnv)
boxplot(Value~Type+Level, data=Mydata2)
在这里,我使用min
、 mean
和max
作为刻度线。 您可以手动将它们设置为任何值,甚至可以设置超过 3 个刻度。 yaxt="n"
防止默认刻度线,然后通过使用axis
并将边设置为2
( axis(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
选择默认刻度线,因此它更漂亮(漂亮是主观的)。
两种方法:
axis
的at
参数单独设置每个刻度axis
( at
是定义每个刻度线的数字向量):boxplot(Value~Type+Level, yaxt="n", data=Mydata2)
tickmarks = c(min(Mydata2$Value), max(Mydata2$Value))
axis(2, at = round(tickmarks,1))
ylim
参数定义刻度boxplot
的范围。 因此,要将刻度线的范围设置在 -40 到 140 之间:boxplot(Value~Type+Level, data=Mydata2, ylim=c(-40,140))
方法#2 有时有效,但并非总是如此。 方法 #1 更可靠和可定制,因此应该更频繁地使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.