R语言-图形初阶
在本节中,主要目的是如何使用R语言做出简单的图形
案例1:做出wt和mpg之间的关系
attach(mtcars)
plot(wt,mpg)
abline(lm(mpg~wt))
title('Regression of MPG on Weight')
detach(mtcars) 1. 绑定了数据集
2. 打开图形窗口并生成一副散点图
3. 添加了一条拟合曲线
4. 给图形增加标题
5. 解除绑定

还可以把生成的图片放到pdf中
pdf('mygraph.pdf')
attach(mtcars)
plot(wt,mpg)
abline(lm(mpg~wt))
title('Regression of MPG on Weight')
detach(mtcars)
dev.off()
案例2 分析病人对两种药物的响应情况
1.准备数据
dose <- c(20,30,40,45,60)
drugA <- c(16,20,27,40,60)
drugB <- c(15,18,25,31,40)
4 #描述药物A的剂量和病人的响应
plot(dose,drugA,type='b')

2.可以使用图形参数来修改上述图片的样式
opar <- par(no.readonly = T)
par(lty=2,pch=17)
plot(dose,drugA,type='b')
par(opar) 1. 复制了当前图形的参数设置
2. 把线条的类型改成虚线,默认的间断点改成三角形
3.绘制图形并还原了原始设

plot(dose,drugA,type='b',lty=3,lwd=3,pch=15,cex=2) 1. 线性位点线,宽度是默认的3倍,分割点为正方形,大小是默认大小的2倍

3.使用图形参数来控制外观
par(pin=c(2,3))
par(lwd=2,cex=1.5)
par(cex.axis=.75,font.axis=3)
plot(dose,drugA,type='b',pch=19,lty=2,col='red')
plot(dose,drugB,type='b',pch=23,lty=6,col='blue',bg='green')
par(opar) 1. 修改图形的默认参数,(2英寸宽,3英寸高)
2. 线宽为默认的2倍,间隔符为默认的1.5倍
3. 坐标轴刻度的文字设置为斜体,为默认大小的0.75倍
4. 使用红色的虚线和实心圆点创建第一幅图形
5. 使用蓝色虚线,蓝色边框和绿色实心菱形创建第二幅图形
6. 还原初始的图形设置


4.添加文本坐标和图例
plot(dose,drugA,type='b',col='red',lty=2,pch=2,lwd=2,
main = 'Clinical Trials for Drug A',
sub = 'This is hypothetical data',
xlab = 'Dosage',ylab = 'Drug Response',
xlim = c(0,60),ylim = c(0,70)) 2. 插入主标题
3. 插入副标题
4. X轴说明
5. Y轴说明
6. 坐标轴范

plot(dose,drugA,type='b',col='red',lty=2,pch=2,lwd=2,
main = 'Clinical Trials for Drug A',
sub = 'This is hypothetical data',
xlab = 'Dosage',ylab = 'Drug Response',
xlim = c(0,60),ylim = c(0,70))
lines(dose,drugB,type='b',pch=17,lty=2,col='blue')
abline(h=c(30),lwd=1.5,lty=2,col='grey')
library(Hmisc)
minor.tick(nx=3,ny=3,tick.ratio=0.5)
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.文本标注
attach(mtcars)
plot(wt,mpg,main = 'Mileage vs. Car Weight',xlab = 'Weight',ylab = 'Mileage',pch=18,col='blue')
text(wt,mpg,row.names(mtcars),cex = 0.6,pos=4,col='red')
detach(mtcars) 3. text函数用于标注图形中的点

6.图形组合
attach(mtcars)
opar <- par(no.readonly = T)
par(mfrow=c(2,2))
plot(wt,mpg,main = 'Scatterplot of wt vs. mpg')
plot(wt,disp,main = 'Scatterplot of wt vs. disp')
hist(wt,main = 'Histogram of wt')
boxplot(wt ,main='boxplot of wt')
par(opar)
detach(mtcars) 3. 指定图形的分布
4. wt和mpg的散点图
5. wt和disp的散点图
6. wt的直方图
7. wt的箱

attach(mtcars)
layout(matrix(c(1,1,2,3),2,2,byrow = T))
hist(wt)
hist(mpg)
hist(disp)
detach(mtcars) 2. 使用layout函数改变图形的布

7.图形布局的精细控制
opar <- par(no.readonly = T)
par(fig=c(0,0.8,0,0.8))
plot(mtcars$wt,mtcars$mpg,xlab = 'Miles Per Gallon',ylab = 'Car Weight')
par(fig=c(0,0.8,0.55,1),new=T)
boxplot(mtcars$wt,horizontal = T,axes=F)
par(fig=c(0.65,1,0,0.8),new=T)
boxplot(mtcars$mpg,axes=F)
mtext('Enhanced Scatterplot',side = 3,outer = T,line = -3)
par(opar) 2~3. 设置散点图
4~5. 在上方添加wt的箱线图
6~7. 在右方添加mpg的箱线图
8. 添加标题

小结:
本节的主要目的是修改R中的默认图形,修改一副图形的坐标轴,字体,间隔符,线条,颜色以及如何添加标题,副标题,标签,文本参考线
如何制定图形的边界和大小,以及如何将多幅图形整合为一幅
R语言-图形初阶的更多相关文章
- R语言—图像初阶
dev.new() 创建一个新图像之前打开一个新的窗口 win.graph() 同上 pch() 指定绘制点时使用的符号 cex() 指定符号的大小,是一个数值,表示绘图符号相当于默认大小的缩放倍数 ...
- R语言实战(一)介绍、数据集与图形初阶
本文对应<R语言实战>前3章,因为里面大部分内容已经比较熟悉,所以在这里只是起一个索引的作用. 第1章 R语言介绍 获取帮助函数 help(), ? 查看函数帮助 exampl ...
- R语言图形base系统(二)
x<-c(1:10) y<-x z<-10/x opar<-par(no.readonly = T) par(mar=c(5,4,4,8)+0.1) plot(x,y,type ...
- R语言图形base系统(一)
一般R作图有三大绘图系统:base系统.ggplot2绘图系统.lattice绘图系统. 本篇主要介绍base系统绘图时的图形参数.一般用plot()函数来完成.在R中,若 ...
- R语言爬虫初尝试-基于RVEST包学习
注意:这文章是2月份写的,拉勾网早改版了,代码已经失效了,大家意思意思就好,主要看代码的使用方法吧.. 最近一直在用且有维护的另一个爬虫是KINDLE 特价书爬虫,blog地址见此: http://w ...
- R语言实战读书笔记(三)图形初阶
这篇简直是白写了,写到后面发现ggplot明显更好用 3.1 使用图形 attach(mtcars)plot(wt, mpg) #x轴wt,y轴pgabline(lm(mpg ~ wt)) #画线拟合 ...
- R语言图形base系统(三)
本篇介绍R语言base系统绘制散点图.条形图.直方图.箱线图.饼图,还将简单介绍点图.核密度图.折线图. 散点图: attach(mtcars) plot(wt, mpg, main="B ...
- 《R语言实战》读书笔记--第三章 图形初阶(一)
3.1使用图形 可以使用pdf等函数将图形直接保存在文件中.在运用attach和detach函数的使用中经常出现错误,比如命名重复的问题,所以,应该尽量避免使用这两个函数. plot是一般的画图函数, ...
- R语言学习——图形初阶之折线图与图形参数控制
plot()是R中为对象作图的一个泛型函数(它的输出将根据所绘制对象类型的不同而变化):plot(x,y,type="b")表示将x置于横轴,y置于纵轴,绘制点集(x,y),然后使 ...
随机推荐
- Linux 系统下在线安装 Tomcat
在linux下部署java开发的web应用,一般采用Tomact+jre环境(可不需要apache),在RHEL和CentOS下,可以采用yum在线自动安装方式安装,具体操作如下: 1.基础环境安装配 ...
- linux几条常用的命令
列出一些手头分分钟要用到的命令. 1.df -h 用来查看各个分区的大小 2.du -h --max-depth=0 /data2/xijun.gong/tt_data 用来查看文件夹的大小,并指定递 ...
- 2017年第六届数学中国数学建模国际赛(小美赛)C题解题思路
这篇文章主要是介绍下C题的解题思路,首先我们对这道C题进行一个整体的概括,结构如下: C题:经济类 第一问:发现危险人群. 发现:欺诈的方式开始.雇佣或浪漫的承诺. 数据→确定特定的经济萧条地区→确定 ...
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function(切比雪夫多项式+乘法逆元)
题目链接:哈哈哈哈哈哈 _(:з」∠)_ _(:з」∠)_ _(:з」∠)_ _(:з」∠)_ _(:з」∠)_ 哈哈哈哈哈哈,从9月16日打了这个题之后就一直在补这道题,今天终于a了,哈哈哈哈哈哈. ...
- 2017ecjtu-summer training #4 CodeForces 731C
C. Socks time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...
- sscanf()用法
http://blog.chinaunix.net/uid-26284412-id-3189214.html #include<cstdio> #include<cstring> ...
- 《SpringMVC从入门到放肆》五、SpringMVC配置式开发(处理器适配器)
上一篇我们大致讲解了处理器映射器的处理流程以及跟了一下源码的执行流程.今天我们来了解一下处理器适配器. 一.适配器模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述适配器(Adapt ...
- LAMP与LNMP架构的区别及其具体的选择说明
LAMP==Linux+Apache+Mysql+PHP LNMP==Linux+Nginx+Mysql+PHP 以上两只架构是目前网站的主流架构 LAMP和LNMP最主要的区别在于: 一个使用的是A ...
- 【编程技巧】alert vs Ext.Msg.alert
alert会阻塞程序的运行. Ext.Msg.alert是异步的,它的调用并不会停止浏览器中代码的执行.
- jstl 的判断使用
JSTL 是JSP的标准标记库 1.必须引入的头部标签 <%@ taglib uri="http://java.sun.com/jstl/core_rt"prefix=&q ...