将新曲线添加到R中的绘图时,调整x和y轴的限制

Joh*_*eth 11 plot r range

我有两个绘制的数据集(df1df2).

df1 = data.frame(x=c(1:10), y=c(1:10))
df2 = data.frame(x=c(0:13), y=c(0:13)^1.2)

# plot
plot(df1)
# add lines of another dataset
lines(df2)
Run Code Online (Sandbox Code Playgroud)

某些值df2超出了绘图范围,因此不可见.(在这个例子中,我可以df2先绘制).我通常会尝试找出我的数据范围,如下所示.

# manual solution
minX = min(df1$x, df2$x)
minY = min(df1$y, df2$y)
maxX = max(df1$x, df2$x)
maxY = max(df1$y, df2$y)

plot (df1, xlim=c(minX, maxX), ylim=c(minY, maxY))
lines(df2)
Run Code Online (Sandbox Code Playgroud)

当拥有许多数据集时,这会变得很烦人.我想知道,如果有一种更简单的方法来调整轴的范围.在第一步中,R自己找到轴范围.当添加新数据集时,是否还有一种方法可以调整轴范围?

Gle*_*n_b 2

你总是可以编写一个函数:

plotline <- function(df1,df2) {

  minX = min(df1$x, df2$x)
  minY = min(df1$y, df2$y)
  maxX = max(df1$x, df2$x)
  maxY = max(df1$y, df2$y)

  plot (df1, xlim=c(minX, maxX), ylim=c(minY, maxY))
  lines(df2)
}
Run Code Online (Sandbox Code Playgroud)

然后你只需这样做:

plotline(firstdf,seconddf)
Run Code Online (Sandbox Code Playgroud)

如果您想变得更奇特,您甚至可以包含参数...并将其传递给绘图调用。