R中错了ylim

时间:2014-07-18 14:19:15

标签: r plot label axis

我对r绘图功能有两个问题:

  1. 当我尝试绘制这个(下面的例子)时,尽管我将ylim设置为c(0,max(...)* 1.5),但y轴上总是有一个-1值。如何将ylim值设置为0?

  2. 我的第二个问题是我想绕y轴标签(0十进制)。我知道我可以手动完成:(轴(边= 2,at = seq(1,3,1),标签= c(-1,0,1)))。但我想要一个“宇宙”解决方案,因为我将制作许多带有不同轴的for循环的情节。

  3. 例如:

    xy = c(NA,NA,NA,0,NA,0,NA,0,0)
    
    plot(xy, ylim = c(0,max(c(NA,NA,NA,0,NA,0,NA,0,0),na.rm = TRUE)))
    

    感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我认为问题1中的问题是定义

ylim = c(0,max(c(NA,NA,NA,0,NA,0,NA,0,0),na.rm = TRUE))

等于

ylim = c(0,0)

即使您将第二个0乘以任何正数。所以你告诉R让y轴从0到0,我相信R理解这没有意义,因此从-1到1产生一种默认的ylim。

为避免这种情况,您可以添加正数,例如1,而不是将它乘以你的代码,例如:

plot(xy, ylim = c(0,max(xy,na.rm = TRUE)+1))