R语言绘制简单图形及相关讲解
剂 量 |
对药物A的响应 |
对药物B的响应 |
20 |
16 |
15 |
30 |
20 |
18 |
40 |
27 |
25 |
45 |
40 |
31 |
60 |
60 |
40 |
dose <- c(20,30,40,45,60)
drug_a <- c(16,20,27,40,60)
drug_b <- c(15,18,25,31,40)
opar <-par(no.readonly = TRUE)
par(font.lab = 1,cex.lab = 1.5,cex.main = 1.5) #初始化设置字体类型、坐标轴以及标题字体大小
plot(dose,drug_a,type = "b",lty = 2 ,pch = 15,
col = "blue",main = "药物a、b剂量和响应的折线图", #设置绘制方法,线条类型、点的表示、颜色、标题
xlab = "剂量",ylab = "响应程度",xlim = c(10,60), #横纵坐标轴的名字以及刻度分布
ylim = c(0,70))
lines(dose,drug_b,type = 'b',lty = 1 ,pch = 17, #在原有图形里加上药物b的折线图
col = "red")
legend("topleft",inset = 0.05,title = "药物类型",c("a","b"), #加上图例,与上面的代码需一一对应
lty =c(1,2),pch = c(15,17),col = c("blue","red"))
par(opar) #初始化结束
除以上简单的设置图形参数以外还有很多的自定义函数设置,比如title()为图形添加标题和坐标轴标签,axis()创建自abline()添加图形参考线,text()向绘图区域内添加文本等,在此不再深究;
若想在一张画布内表现不同的图形,则可借助layout()或者par()函数实现,如下所示
attach(mtcars)
opar <-par(no.readonly = TRUE)
par(mfrow = c(2,2))
plot(wt,mpg,main = "wt、mpg散点图")
plot(wt,disp,main = "wt、disp散点图")
hist(wt,main = "wt直方图")
boxplot(wt,main = "wt箱线图")
par(opar)
detach(mtcars)
attach(mtcars)
layout(matrix(c(1,1,2,3),2,2,byrow = T)) #设置2*2的画布,但一幅图在第1行,另两幅图置于第2行
hist(wt)
hist(mpg)
hist(disp)
detach(mtcars)