R语言par(fig=)函数的详细解释

图形布局的精细控制
可能有很多时候,你想通过排布或叠加若干图形来创建单幅的、有意义的图形,这需要有对

图形布局的精细控制能力。你可以使用图形参数fig=完成这个任务。此上添加两幅箱线图,创建了单幅的增强型图形

R语言par(fig=)函数的详细解释_第1张图片

opar<-par(no.readonly = TRUE)
par(fig=c(0,0.8,0,0.8))
plot(mtcars$wt,mtcars$mpg,xlab = "miles per callon",ylab = "Car Weight")
par(fig=c(0,0.8,0.55,1),new=TRUE)
boxplot(mtcars$wt,horizontal = TRUE,axes=FALSE)
par(fig=c(0.65,1,0,0.8),new=TRUE)
boxplot(mtcars$mpg,axes=FALSE)
 


help("par")

要理解这幅图的绘制原理,请试想完整的绘图区域:左下角坐标为(0,0),而右上角坐标为
(1,1)。参数fig=的取值是一个形如c(x1, x2, y1, y2)的数值向量。

R语言par(fig=)函数的详细解释_第2张图片

第一个fig=将散点图设定为占据横向范围0~0.8,纵向范围0~0.8。

上方的箱线图横向占据0~0.8,纵向0.55~1。右侧的箱线图横向占据0.65~1,纵向0~0.8。fig=默认会新建一幅图形,所以在添加一幅图到一幅现有图形上时,请设定参数new=TRUE。

我将参数选择为0.55而不是0.8,这样上方的图形就不会和散点图拉得太远。类似地,我选择
了参数0.65以拉近右侧箱线图和散点图的距离。你需要不断尝试找到合适的位置参数。

R语言par(fig=)函数的详细解释_第3张图片

各独立子图所需空间的大小可能与设备相关。如果你遇到了“Error in plot.new(): figure
margins too large”这样的错误,请尝试在整个图形的范围内修改各个子图占据的区域位
置和大小。

你可能感兴趣的:(数据处理--R语言,R_数据分析)