R 中 y 轴的箱线图刻度值?
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)
如图所示,y轴标记为“0、50、100”,然而,我的数据范围是-36.9到133.7。我想知道如何解决这个问题?
在这里,我使用了 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
参数单独设置每个刻度线(at
是定义每个刻度线的数字向量):
boxplot(Value~Type+Level, yaxt="n", data=Mydata2)
tickmarks = c(min(Mydata2$Value), max(Mydata2$Value))
axis(2, at = round(tickmarks,1))
- 通过
boxplot
的 ylim
参数定义刻度线的范围。因此,要将刻度线的范围设置在 -40 到 140 之间:
boxplot(Value~Type+Level, data=Mydata2, ylim=c(-40,140))
方法 2 有时有效,但并非总是有效。方法 #1 更可靠且可自定义,因此应更频繁地使用。
我正在尝试在 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。我想知道如何解决这个问题?
在这里,我使用了 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
参数单独设置每个刻度线(at
是定义每个刻度线的数字向量):
boxplot(Value~Type+Level, yaxt="n", data=Mydata2)
tickmarks = c(min(Mydata2$Value), max(Mydata2$Value))
axis(2, at = round(tickmarks,1))
- 通过
boxplot
的ylim
参数定义刻度线的范围。因此,要将刻度线的范围设置在 -40 到 140 之间:
boxplot(Value~Type+Level, data=Mydata2, ylim=c(-40,140))
方法 2 有时有效,但并非总是有效。方法 #1 更可靠且可自定义,因此应更频繁地使用。