假设我创建了一个这样的简单图:
xvalues <- 100:200
yvalues <- 250:350
plot(xvalues, yvalues)
然而,我希望x轴从0 开始,并将上限保留为R计算的任何内容。我该怎么做?
我知道xlim = c(下限,上限)有一个选项,但我不知道上限是什么。此外,我显然无法让上限未指定:
> plot(xvalues, yvalues, xlim=c(0))
Error in plot.window(...) : invalid 'xlim' value
如果我没有必须计算xvalues向量的最大值以获得上限,那将是很好的,因为这对于非常大的数据向量来说似乎是浪费。
答案 0 :(得分:5)
您可以使用以下两种方法之一:
计算限额
xlim <- c(0, max(xvalues))
xlim
现在可以作为xlim
中的plot
参数提供。
xvalues <- 100:200
yvalues <- 250:350
plot(xvalues, yvalues, xlim=xlim)
让par
返回限制
这个有点复杂,但有时很有用(在你的情况下肯定是矫枉过正,但为了完整性)。您绘制一次数据,使用par("usr")
获得用户坐标中绘图区域的限制。现在,您可以在新的情节中使用它们。
plot(xvalues, yvalues, xaxs="i")
xmax <- par("usr")[2]
plot(xvalues, yvalues, xlim=c(0,xmax))
PS。我使用xaxs="i"
因此结果将在末尾没有小扩展。
答案 1 :(得分:1)
您只需使用最大值设置x
的最大值:
xvalues <- 1:99
yvalues <- rep(1,99)
plot(xvalues, yvalues, xlim = c(0, max(xvalues)) )