在本节中,主要目的是如何使用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. 解除绑定
还可以把生成的图片放到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')
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.绘制图形并还原了原始设
1 plot(dose,drugA,type='b',lty=3,lwd=3,pch=15,cex=2)
1. 线性位点线,宽度是默认的3倍,分割点为正方形,大小是默认大小的2倍
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. 还原初始的图形设置
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. 坐标轴范
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. 添加图例
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函数用于标注图形中的点
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的箱
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函数改变图形的布
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中的默认图形,修改一副图形的坐标轴,字体,间隔符,线条,颜色以及如何添加标题,副标题,标签,文本参考线
如何制定图形的边界和大小,以及如何将多幅图形整合为一幅
请发表评论