在本节中,主要目的是如何使用R语言做出简单的图形

案例1:做出wt和mpg之间的关系

1 attach(mtcars)
2 plot(wt,mpg)
3 abline(lm(mpg~wt))
4 title('Regression of MPG on Weight')
5 detach(mtcars)

1. 绑定了数据集
2. 打开图形窗口并生成一副散点图
3. 添加了一条拟合曲线
4. 给图形增加标题
5. 解除绑定

 

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_默认大小

还可以把生成的图片放到pdf中

1 pdf('mygraph.pdf')
2 attach(mtcars)
3 plot(wt,mpg)
4 abline(lm(mpg~wt))
5 title('Regression of MPG on Weight')
6 detach(mtcars)
7 dev.off()

案例2 分析病人对两种药物的响应情况

1.准备数据

1 dose <- c(20,30,40,45,60)
2 drugA <- c(16,20,27,40,60)
3 drugB <- c(15,18,25,31,40)
4 #描述药物A的剂量和病人的响应
5 plot(dose,drugA,type='b')

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_图例_02

2.可以使用图形参数来修改上述图片的样式

1 opar <- par(no.readonly = T)
2 par(lty=2,pch=17)
3 plot(dose,drugA,type='b')
4 par(opar)

1. 复制了当前图形的参数设置
2. 把线条的类型改成虚线,默认的间断点改成三角形
3.绘制图形并还原了原始设

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_默认大小_03

1 plot(dose,drugA,type='b',lty=3,lwd=3,pch=15,cex=2)

1. 线性位点线,宽度是默认的3倍,分割点为正方形,大小是默认大小的2倍

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_坐标轴_04

3.使用图形参数来控制外观

1 par(pin=c(2,3))
2 par(lwd=2,cex=1.5)
3 par(cex.axis=.75,font.axis=3)
4 plot(dose,drugA,type='b',pch=19,lty=2,col='red')
5 plot(dose,drugB,type='b',pch=23,lty=6,col='blue',bg='green')
6 par(opar)

1. 修改图形的默认参数,(2英寸宽,3英寸高)
2. 线宽为默认的2倍,间隔符为默认的1.5倍
3. 坐标轴刻度的文字设置为斜体,为默认大小的0.75倍
4. 使用红色的虚线和实心圆点创建第一幅图形
5. 使用蓝色虚线,蓝色边框和绿色实心菱形创建第二幅图形
6. 还原初始的图形设置

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_坐标轴_05

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_默认大小_06

4.添加文本坐标和图例

1 plot(dose,drugA,type='b',col='red',lty=2,pch=2,lwd=2,
2      main = 'Clinical Trials for Drug A',
3      sub = 'This is hypothetical data',
4      xlab = 'Dosage',ylab = 'Drug Response',
5      xlim = c(0,60),ylim = c(0,70))

2. 插入主标题
3. 插入副标题
4. X轴说明
5. Y轴说明
6. 坐标轴范

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_图例_07

 

1 plot(dose,drugA,type='b',col='red',lty=2,pch=2,lwd=2,
 2      main = 'Clinical Trials for Drug A',
 3      sub = 'This is hypothetical data',
 4      xlab = 'Dosage',ylab = 'Drug Response',
 5      xlim = c(0,60),ylim = c(0,70))
 6 lines(dose,drugB,type='b',pch=17,lty=2,col='blue')
 7 abline(h=c(30),lwd=1.5,lty=2,col='grey')
 8 library(Hmisc)
 9 minor.tick(nx=3,ny=3,tick.ratio=0.5)
10 legend('topleft',inset = .05,title = 'drug type',c('A','B'),lty = c(1,2),pch = c(15,17),col=c('red','blue'))

1~7. 作图
8~9. 添加刻度线
10. 添加图例

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_图例_08

5.文本标注

1 attach(mtcars)
2 plot(wt,mpg,main = 'Mileage vs. Car Weight',xlab = 'Weight',ylab = 'Mileage',pch=18,col='blue')
3 text(wt,mpg,row.names(mtcars),cex = 0.6,pos=4,col='red')
4 detach(mtcars)

3. text函数用于标注图形中的点

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_坐标轴_09

 

 6.图形组合

1 attach(mtcars)
2 opar <- par(no.readonly = T)
3 par(mfrow=c(2,2))
4 plot(wt,mpg,main = 'Scatterplot of wt vs. mpg')
5 plot(wt,disp,main = 'Scatterplot of wt vs. disp')
6 hist(wt,main = 'Histogram of wt')
7 boxplot(wt ,main='boxplot of wt')
8 par(opar)
9 detach(mtcars)

3. 指定图形的分布
4. wt和mpg的散点图
5. wt和disp的散点图
6. wt的直方图
7. wt的箱

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_默认大小_10

1 attach(mtcars)
2 layout(matrix(c(1,1,2,3),2,2,byrow = T))
3 hist(wt)
4 hist(mpg)
5 hist(disp)
6 detach(mtcars)

2. 使用layout函数改变图形的布

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_默认大小_11

7.图形布局的精细控制

1 opar <- par(no.readonly = T)
2 par(fig=c(0,0.8,0,0.8))
3 plot(mtcars$wt,mtcars$mpg,xlab = 'Miles Per Gallon',ylab = 'Car Weight')
4 par(fig=c(0,0.8,0.55,1),new=T)
5 boxplot(mtcars$wt,horizontal = T,axes=F)
6 par(fig=c(0.65,1,0,0.8),new=T)
7 boxplot(mtcars$mpg,axes=F)
8 mtext('Enhanced Scatterplot',side = 3,outer = T,line = -3)
9 par(opar)

2~3. 设置散点图
4~5. 在上方添加wt的箱线图
6~7. 在右方添加mpg的箱线图
8. 添加标题

R语言调整坐标轴和边框粗细 r语言绘制坐标轴为文字_R语言调整坐标轴和边框粗细_12

小结:

  本节的主要目的是修改R中的默认图形,修改一副图形的坐标轴,字体,间隔符,线条,颜色以及如何添加标题,副标题,标签,文本参考线

如何制定图形的边界和大小,以及如何将多幅图形整合为一幅