Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改R盒形图函数中的y轴比例_R_Scale_Boxplot - Fatal编程技术网

如何更改R盒形图函数中的y轴比例

如何更改R盒形图函数中的y轴比例,r,scale,boxplot,R,Scale,Boxplot,使用R boxplot功能绘制箱线图时,此功能会自动打印y轴 library(datasets) boxplot(cars[c('speed', 'dist')], col = "lightgray") 在?箱线图中,我找到了ylim参数,它改变了y轴限制,但没有改变比例。因此,我尝试使用axis函数将刻度从0分为120,每10分: 轴4,at=seq0,120,10。但我没有得到令人满意的结果 我看不出我在哪里犯了错误。有人能帮我回答这个问题吗? 提前谢谢 你可以用ggpu

使用R boxplot功能绘制箱线图时,此功能会自动打印y轴

library(datasets)

boxplot(cars[c('speed', 'dist')],
        col = "lightgray")
在?箱线图中,我找到了ylim参数,它改变了y轴限制,但没有改变比例。因此,我尝试使用axis函数将刻度从0分为120,每10分: 轴4,at=seq0,120,10。但我没有得到令人满意的结果

我看不出我在哪里犯了错误。有人能帮我回答这个问题吗? 提前谢谢

你可以用ggpubr代替。让我们把它当作gg对象


我相信y轴在你想要的右边。

我回答这个问题是因为OP在评论中说我的评论起了作用。我还将在这里解释代码

有两个技巧需要考虑:

通过设置参数yaxt=n,第一次不带yaxis的绘图。 然后绘制轴号2,标签始终垂直于轴。这是在las=2的情况下完成的。 最后的代码如下

library(datasets)

boxplot(cars[c('speed', 'dist')],
        col = "lightgray", yaxt = "n")
axis(2, at = seq(0, 120, 10), las = 2)

可能是箱线图…,yaxt=n,后跟axis2,at=seq0,120,10,las=2。是一个类似的问题,它支持@RuiBarradas的评论。嗨@RuiBarradas,它工作得很好!谢谢你的支持。请你回答一下好吗?我不明白为什么las=2而不是las=1。我觉得这个问题有点不同。因为我只能在axis函数中使用las参数生成分段y轴。完成后,请参见下面的答案。这是做什么的?正确的实现将每10个增量放在垂直轴上。您好@Vitali Avagyan,您的答案对我不起作用。您如何看到绘制图表,它没有返回y轴每10个分段的箱线图。谢谢你的支持。真奇怪,我能得到它。我将尝试添加结果。@cladius,我已经编辑了这篇文章,并将由我的答案中所写的相同代码运行生成的结果放入其中。你能至少证实这是你想要的吗?谢谢。嗨@MAPK,你的回答对我不起作用。这与箱线图函数无关。并且没有返回y轴每10个分段的箱线图。感谢您的支持。我尝试了las=1,它也起了作用。但是las=3不起作用。我试图理解las参数是如何与y轴的分割相联系的。看起来像是信息型的。@claudius参考是:las=1表示始终水平;las=2表示始终垂直于轴,las=3表示始终垂直。它和我一起工作。
p + ggpubr::yscale("log2", .format = TRUE)
library(datasets)
boxplot(cars[c('speed', 'dist')], col = "lightgray", ylim = range(0:120), yaxs = "i")
axis(4, at=seq(0, 120, 10))
library(datasets)

boxplot(cars[c('speed', 'dist')],
        col = "lightgray", yaxt = "n")
axis(2, at = seq(0, 120, 10), las = 2)