R:避免通过我的0点自动绘制水平线

R:避免通过我的0点自动绘制水平线,r,graph,R,Graph,我的目标是在现有绘图的x轴上每隔5个刻度点绘制垂直虚线网格线 我使用的命令是: abline(h=FALSE,v=seq(0,40,by=5),col="gray",lty=3) 结果正是我所需要的,除了命令创建的0位置的水平线之外。y轴从-20到+20。有什么想法吗?Miff和CathG在评论中回答: 设置h=NULL修复了它 多谢各位! (p.s.Miff如果您发布了答案,我会接受它,这样您就可以获得积分)从的帮助文件中可以看到,水平线将以h的值绘制FALSE被转换为零的数值,因此在y=0

我的目标是在现有绘图的x轴上每隔5个刻度点绘制垂直虚线网格线

我使用的命令是:

abline(h=FALSE,v=seq(0,40,by=5),col="gray",lty=3)

结果正是我所需要的,除了命令创建的0位置的水平线之外。y轴从-20到+20。有什么想法吗?

Miff和CathG在评论中回答:

设置h=NULL修复了它

多谢各位!
(p.s.Miff如果您发布了答案,我会接受它,这样您就可以获得积分)

的帮助文件中可以看到,水平线将以
h
的值绘制
FALSE
被转换为零的数值,因此在y=0时得到的行。要解决此问题,请使用以下代码:

plot(-10:50, rnorm(61)) #to create a plot
abline(h=NULL,v=seq(0,40,by=5),col="gray",lty=3)
正如@CathG在注释中提到的,这是默认值,因此您可以省略
h
参数来获得:

abline(v=seq(0,40,by=5),col="gray",lty=3)

h=NULL应该会修复它,FALSE会被转换成一个零的数值,因为
h=NULL
是默认值,您可以只做
abline(v=seq(0,40,by=5),col=“gray”,lty=3)