vlambda博客
学习文章列表

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)) #设置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)