合并图表并进行轴归一化

4
我在每个图形绘制前使用par(new=T)将我的图形添加到同一图形中。然而,这会使得两个图形重叠,并且轴值会相互覆盖并且看起来混乱无序。如何正确地将图形添加到同一图形中并根据两个图形规范化轴间隔?
2个回答

3

在使用R语言中,应尽量避免使用par(new=TRUE),通常有更好/更简单的方法。在创建原始图形时,将xlim和ylim设置为包含您将要绘制的所有变量所需的足够空间,然后使用诸如lines、points、symbols或其他函数添加额外信息,例如:

plot(x1,y1, xlim=range(x1,x2,x3), ylim=range(y1,y2,y3))
points(x2,y2, col='blue')
points(x3,y3, col='red')

还有matplot函数,可以在一条命令中绘制多条线或多组点。

更好的方法是将数据集合并后使用来自lattice包或ggplot2包的xyplot函数一次性绘制多个图形。

还有一些在plotrix包中的函数可用于合并图形(包括不同刻度的选项)。

如果真的需要使用par(new=TRUE),那么请在每个绘图函数中指定xlim和ylim以强制它们对齐。您还可以通过指定axes=FALSE或xaxt='n',yaxt='n'来抑制默认轴的绘制,然后如果需要,可以使用axis函数在其他边上放置轴,并指定您想要的刻度标记和标签的位置。


2
尝试使用?lines?points?abline?plot.xy来进行绘图。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接