R语言绘制叠加图形

使用R语言我们比较常用的在幅图上绘制多个图形,使用

  • par(mfrow)
  • layout()

就能够在一幅图上绘制(排列)多个图形。比如:
以DoseFinding包中的biom数据集为例,我们在一幅图上输出biom数据集的箱线图和散点图:(先install.packages("DoseFinding"))

library(DoseFinding)
data(biom)

par(mfrow = c(1,2))
boxplot(resp~dose, biom)
plot(biom)

得到biom数据集的箱线图和散点图:
在这里插入图片描述
现在目标是输出下面这张图,
在这里插入图片描述
如何做到呢?只需再设置几个步骤就可以:

  1. 使用par(new=TRUE)使后输出的图形叠加到原来的图形上
par(mfrow = c(1,1))
boxplot(resp~dose, biom)
par(new=TRUE)
plot(biom)

在这里插入图片描述
由上图可见,设置了par(new=TRUE)之后,两幅图简单的叠加在一起了。接下来就是对两幅图进行调整。
2. 修改boxplot的箱体位置
设置boxplot的at参数,指定box绘制的位置

boxplot(resp~dose, biom, at=unique(sort(biom$dose)))
par(new=TRUE)
plot(biom)

在这里插入图片描述
3. 修改boxplot的箱体大小
设置boxplot的boxwex参数,调整box宽的比例

boxplot(resp~dose, biom, at=unique(sort(biom$dose)),  boxwex=0.04)
par(new=TRUE)
plot(biom)

在这里插入图片描述
4. 修改boxplot的横坐标范围
设置boxplot的xlim参数

par(mfrow = c(1,1))
boxplot(resp~dose, biom, at=unique(sort(biom$dose)),  boxwex=0.04 , xlim=c(0, 1))
par(new=TRUE)
plot(biom)

在这里插入图片描述
发现坐标还有点重叠,继续修改:
5. 隐藏第二幅图的坐标轴和标签

boxplot(resp~dose, biom, at=unique(sort(biom$dose)),  boxwex=0.04 , xlim=c(0, 1))
par(new=TRUE)
plot(biom,  xaxt="n", yaxt="n", bty="n", ann=F)

在这里插入图片描述

  1. 图形再美化一下
boxplot(resp~dose, biom, at=unique(sort(biom$dose)),  boxwex=0.04 , xlim=c(0, 1), 
        col="lightblue", main="Overlapped Figure Demo")
par(new=TRUE)
plot(biom,  xaxt="n", yaxt="n", bty="n", ann=F)

在这里插入图片描述
Done!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值