Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.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内的'at'_R_Plot - Fatal编程技术网

确定轴()R内的'at'

确定轴()R内的'at',r,plot,R,Plot,在下面的R代码中,我想知道at=在axis()命令中应该是什么,使得Y轴上标记为的“8”数字在Y轴上显示为相等的距离 注意:我希望Y轴只包含标签下列出的数字,并且点(1,3000)正确显示在绘图中 这是我的非工作R代码: plot(1, 1, type = "n", xlim = c(0,1.5), ylim = c(1/3, 100000), ann=F, bty="n", log="y",yaxt="n") axis(side=2, at = c(1/3, 1, 3, 10, 30, 1

在下面的R代码中,我想知道
at=
axis()
命令中应该是什么,使得Y轴上标记为“8”数字在Y轴上显示为相等的距离

注意:我希望Y轴只包含
标签下列出的数字
,并且
点(1,3000)
正确显示在绘图中

这是我的非工作R代码:

plot(1, 1, type = "n", xlim = c(0,1.5), ylim = c(1/3, 100000), ann=F, bty="n", 
log="y",yaxt="n")

axis(side=2, at = c(1/3, 1, 3, 10, 30, 100, 1000, 100000),
labels = c("1/3", "1", "3", "10", "30", "100","1000", "100,000"),las=1)

abline(h=c(1/3, 1, 3, 10, 30, 100, 1000, 100000),lty=2,xpd=F)
points(1, 3000, cex=5, pch=20)

如果希望它们在对数刻度上均匀分布,则使用

at = exp(seq(log(1/3), log(100000), length.out = 8))
我会这样做:

plot(1, 1, type = "n", xlim = c(0,1.5), ylim = c(1/3, 100000), ann=F, bty="n", 
log="y",yaxt="n")

y_vals =  exp(seq(log(1/3), log(100000), length.out = 8))
axis(side=2, at = y_vals, labels = prettyNum(y_vals, digits = 3), las = 1)
abline(h = y_vals, lty = 2, xpd = F)

points(1, 3000, cex=5, pch=20)

如果希望它们在对数刻度上均匀分布,则使用

at = exp(seq(log(1/3), log(100000), length.out = 8))
我会这样做:

plot(1, 1, type = "n", xlim = c(0,1.5), ylim = c(1/3, 100000), ann=F, bty="n", 
log="y",yaxt="n")

y_vals =  exp(seq(log(1/3), log(100000), length.out = 8))
axis(side=2, at = y_vals, labels = prettyNum(y_vals, digits = 3), las = 1)
abline(h = y_vals, lty = 2, xpd = F)

points(1, 3000, cex=5, pch=20)

谢谢,但是请看,
abline()
s不匹配,而且
points()
显示不正确?(请使用您建议的更改运行整个代码)您必须对
abline
at
使用相同的值。当然,如果只更改一个,则它们将不匹配。@parvinkarimi,您也可以使用
axis(2,at=exp(seq(log(1/3),log(100000),length.out=8)),tck=1,labels=NA,lty=2)代替
abline
gridlines@d.b,谢谢,我希望Y轴上的标签正好是
labels=c(“1/3”、“1”、“3”、“10”、“30”,“100”、“1000”、“100000”)
?但是
点(1,3000)
没有正确地显示在绘图的正确位置上?谢谢,但是请看,
abline()
不匹配,而且
点()
也没有正确显示?(请使用建议的更改运行整个代码)您必须对
abline
at
使用相同的值。当然,如果您只更改一个值,那么它们将不匹配。@parvinkarimi,您可以使用
轴(2,at=exp(seq(log(1/3),log(100000),length.out=8)),tck=1,labels=NA,lty=2)
而不是
a也用于gridlines@d.b,谢谢,我希望Y轴上的标签正好是
labels=c(“1/3”、“1”、“3”、“10”、“30”、“100”、“1000”、“100000”)
?但是
点(1,3000)
没有正确显示在绘图的正确位置?