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),然后使 ...
随机推荐
- 获取tranform参数函数的封装
平时我们都会去获取元素的各种属性值,例如宽高等等的值!但是tranform是个让人很头疼的点,获取出来的是矩阵,耐何线性代数学的并不是那么6啊. 解决方法的思路:只能采取有点取巧的方法,在我们设置的时 ...
- Java-反射初级知识掌握
PS:本文就Java基础需要掌握的反射知识做下汇总和分析. Java-reflect:java反射,对应我们研究框架.底层框架起到基本的知识储备. Class类Java的世界类,万事皆对象,所有的类都 ...
- BZOJ:4816: [Sdoi2017]数字表格
4816: [Sdoi2017]数字表格 Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 501 Solved: 222[Submit][Status ...
- [51nod1597]有限背包计数问题
你有一个大小为n的背包,你有n种物品,第i种物品的大小为i,且有i个,求装满这个背包的方案数有多少 两种方案不同当且仅当存在至少一个数i满足第i种物品使用的数量不同 Input 第一行一个正整数n 1 ...
- Red and Black(dfs水)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 Red and Black Time Limit: 2000/1000 MS (Java/Oth ...
- c#简单操作MongoDB_2.4
一.MongoDB的安装 MongoDb在windows下的安装与以auth方式启用服务 二.下载驱动 使用nuget搜索“mongodb”,下载“MongoDB.Driver”(这是官方推荐的一个驱 ...
- css3滤镜Filter使用
Filter主要用于图片,SVG等元素上,其默认值是none,有以下10个filter-function值可选: grayscale(灰度)效果类似于PS中的去色或者黑白 blur(模糊)效果类似于P ...
- UE4 AsnycTask
使用AsnycTask可以将制定代码放在指定线程中执行,例如更新文理必须放在游戏线程. AsyncTask(ENamedThreads::GameThread, [=](){ updateT ...
- 算法-java代码实现快速排序
快速排序 对于一个int数组,请编写一个快速排序算法,对数组元素排序. 给定一个int数组A及数组的大小n,请返回排序后的数组. 测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5] ...
- 一个php技术栈后端猿的知识储备大纲
<h1 align="center">Easy Tips</h1><p align="center"><a href= ...