当前位置:K88软件开发文章中心编程全书编程全书02 → 文章内容

R语言中使用par()函数实现同时绘制多幅图

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 3:02:27

:2018-08-14 21:49:14

在R绘图时,有时我们想在一个绘图区中同时绘制多幅图。这时,par()函数就派上用场了。

当然实现同一绘图区绘制多个图形有多个方法,这里先介绍一下par()函数的使用。

R中的par()函数可以将绘图区分割成规则的几个部分。

par()函数的作用主要是查询或设置绘图环境的参数。这里主要考虑使用它如何在一个绘图区绘制多幅图的情况。

多图环境用参数mfrow或参数mfcol来设定,如:

par(mforw=c(3,2))

则是在同一绘图区中绘制3行2列共6个图形,而且是先按行绘制,即绘制完第1行的2个图形后,再绘制第2行的2个图形,最后是第3行的2个图形。同理,

par(mfcol=c(3,2))

也是绘制3行2列共6个图形,与上面不同的是,先按列绘制。即先绘制完第1列的3个图形,再绘制第2列的3个图形。

par设定的绘图参数直至退出前都会有效,即使是在某个函数中使用par()设定的参数,也会影响全局的效果,所以如果在绘图中需要恢复到初始状态,可以设置临时变量保存初始环境。在准备恢复时再使用par(临时变量)的形式恢复到初始状态。

下面举例子说明该函数的具体使用方法:

设置一个2×2的多图窗口,分别绘制 y = sinx, y = cosx, y = 2*sinxcosx和y = tanx的图像,定义域为[-π,π]

编写R程序如下:

par(mfrow = c(2, 2))
x <- seq(-pi,pi,by=0.1)
plot(x,sin(x),typ="l")
plot(x,cos(x))
plot(x,2*sin(x)*cos(x))
plot(x,tan(x))

绘图结果如下:

上图不是很好看,尤其是最后一幅图,下面对其改造如下:

par(mfrow = c(2, 2))
x <- seq(-pi,pi,by=0.01)
plot(x,sin(x),type="l",col=2)
plot(x,cos(x),type="l",col="green")
plot(x,2*sin(x)*cos(x),type="l",col="blue")
plot(x,tan(x),type="l",ylim=c(-30,30),col=6)

运行结果如下:

本文为翔宇亭IT乐园网站原创,如需转载请给出本文连接:http://www.k88.net/article/R/2018/6383.html


R语言中使用par()函数实现同时绘制多幅图