R语言学习——图形初阶之折线图与图形参数控制
plot()是R中为对象作图的一个泛型函数(它的输出将根据所绘制对象类型的不同而变化);plot(x,y,type="b")表示将x置于横轴,y置于纵轴,绘制点集(x,y),然后使用线段将其连接;type="b"表示同时绘制点和线,使用help(plot)可以查看其它选项。
实例:
> dev.new() # 打开一个新的图形窗口
NULL
> dose<-c(20,30,40,45,60)
> drugA<-c(16,20,27,40,60)
> drugB<-c(15,18,25,31,40)
> plot(dose,drugA,type="b") #绘制药物A剂量和响应的折线图
修改符号和线条
> opar<-par(no.readonly = TRUE) # 生成一个可以修改的当前图形参数列表
> par(lty=2,pch=17) # 将线条类型修改为虚线(lty=2),将点符改为实心三角(pch=17)
> plot(dose,drugA,type="b") # 绘制图形
> par(opar) # 还原原始设置
> plot(dose,drugA,type = "b",lty=2,pch=17) # 也可实现上述修改
> plot(dose,drugA,type = "b",lty=2,pch=15,lwd=3,cex=2) # 也可实现上述修改
pch= 指定绘制点时使用的符号,可能的值如下图所示。
cex= 指定符号的大小。cex是一个数值,表示绘图符号相对于默认大小的缩放倍数。默认大小为1。1.5表示放大为默认值的1.5倍,0.5表示缩小为默认值的50%,等等。
lty= 指定线条类型,可能的值如下图所示。
lwd= 指定线条宽度。lwd是以默认值的相对大小来表示的(默认值为1)。例如,lwd=2将生成一条两倍于默认宽度的线条。
修改颜色
用于指定颜色的参数
col= 默认的绘图颜色。某些函数(如lines和pie)可以接受一个含有颜色值的向量并自动循环使用。例如,设定col=c("res","blue")并需要绘制三条线,则第一条线将为红色,第二条为蓝色,第三条又将为红色
col.axis= 坐标刻度文字的颜色
col.lab= 坐标轴标签(名称)的颜色
col.main= 标题颜色
col.sub= 副标题颜色
fg= 图形的前景色
bg= 图形的背景色
> plot(dose,drugA,type = "b",lty=2,pch=19,lwd=2,cex=1,col="red")
> plot(dose,drugB,type = "b",lty=6,pch=23,lwd=2,cex=1.5,col="blue",bg="green")
修改图形尺寸和边界大小
用于控制图形尺寸和边界大小的参数
pin=c(宽,高) 以英寸表示图形的尺寸(宽和高)
mai=c(下,左,上,右) 以数值向量表示边界的大小,顺序为“下、左、上、右”,单位为英寸
mar= c(下,左,上,右) 以数值向量表示边界的大小,顺序为“下、左、上、右”,单位为英分,默认值为c(5,4,4,2)+0.1
实例:
> opar<-par(no.readonly = TRUE)
> par(pin=c(2,3)) # 宽2英寸,高3英寸
> par(cex.axis=0.75,font.axis=3) # 坐标轴刻度文字缩小至默认值的0.75倍,使用斜体字样
> par(lwd=2,cex=1.5) # 线条宽度两倍于默认宽度,符号放大为默认值的1.5倍
> plot(dose,drugB,type = "b",lty=6,pch=23,col="blue",bg="green") # 绘制图形
> par(opar) # 还原原始设置
添加文本、自定义坐标轴和图例
绘制药物A剂量和响应的折线图,符号(pch)用矩形表示、填充(bg)绿色,线型(lty)设为虚线红色(col)、宽度(lwd)为2,图像尺寸(pin)为4*3,边界(mai)上下为0.5英寸、左右为1英寸,添加标题(main)、副标题(sub)、坐标轴标签(xlab、ylab)并指定坐标轴范围(xlim,ylim)
plot(dose,drugA,type = "b",col="blue",lty=3,lwd=2,pch=22,cex=1,bg="green",pin=c(4,3),mai=c(0.5,1,0.5,1,0.5),main="Clinical Trials for Drug A",sub="This is hypothetical data",xlab="Dosage",ylab="Drug Response", xlim=c(0,60),ylim=c(0,70))
注:某些高级绘图函数已经包含了默认的标题和标签,可以通过在plot()语句或者单独的par()语句中添加ann=FALSE来移除它们
另外,也可以使用title()函数为图形添加标题和坐标轴标签,使用函数axis()来创建自定义的坐标轴,其格式分别为
title(main=“标题”,sub=“副标题”,xlab=“x轴标签”,ylab=“y轴标签”)
axis(side,at=,labels=,pos=,lty=,col=,las=,tck=,...)
side 是一个整数,表示在图形的哪边绘制坐标轴(1=下,2=左,3=上,4=右)
at 是一个数值型向量,表示要绘制刻度线的位置
labels 是一个字符型向量,表示置于刻度线旁边的文字标签(如果为NULL,则直接使用at中的值)
pos 坐标轴线绘制位置的坐标(即与另一条坐标轴相交的位置的值)
lty 线条类型
col 线条和刻度线颜色
las 标签是否平行于(=0),或者垂直于(=2)坐标轴
tck 刻度线的长度,以相对于绘图区域大小的分数表示(负值表示在图形外侧,正直表示在图形内侧,0表示禁用刻度,1表示绘制网格线);默认值为-0.01
注:创建自定义坐标轴时应该禁用高级绘图函数自动生成的坐标轴,使用参数axes=FALSE禁用全部坐标轴(包括坐标轴框架线,除非添加了参数frame.plot=TRUE),参数xaxt=“n”和yaxt=“n”分别禁用X轴和Y轴(会留下框架线,只是去除了刻度)
实例:
> dev.new() # 打开一个新的图形窗口
NULL
> #生成数据
> x<-c(1:10)
> y<-x
> z<-10/x
> #生成一个可以修改的当前图形参数列表、
> opar<-par(no.readonly = TRUE)
> #添加边界大小
> par(mar=c(5,4,4,8)+0.1)
> #绘制x对y的图形
> plot(x,y,type = "b",pch=21,col="red",yaxt="n",lty=3,ann = FALSE)
> #添加x对1/x的直线
> lines(x,z,type = "b",pch=22,col="blue",lty=2)
> #绘制自定义坐标轴
> axis(2,at=x,labels=x,col.axis="red",las=2)
> axis(4,at=z,labels = round(z,digits=2),col.axis="blue",las=2,cex.axis=0.7,tck=-0.01)
> #添加标题和文本
> mtext("y=1/x",side = 4,line = 3,cex.lab=1,las=2,col = "blue")
> title("An Example of Creative Axes",xlab = "X values",ylab = "Y=X")
> par(opar) # 还原原始设置
R语言学习——图形初阶之折线图与图形参数控制的更多相关文章
- R语言实战(一)介绍、数据集与图形初阶
本文对应<R语言实战>前3章,因为里面大部分内容已经比较熟悉,所以在这里只是起一个索引的作用. 第1章 R语言介绍 获取帮助函数 help(), ? 查看函数帮助 exampl ...
- R语言学习-基础篇
从五月10日开始自学R in action,将我的学习所得逐渐发布在博客上. chapter1.新手上路 工作空间:存储着所有用户定义的对象(向量,矩阵,函数,数据框,列表): 当前的工目录保存是R用 ...
- R语言学习 第四篇:函数和流程控制
变量用于临时存储数据,而函数用于操作数据,实现代码的重复使用.在R中,函数只是另一种数据类型的变量,可以被分配,操作,甚至把函数作为参数传递给其他函数.分支控制和循环控制,和通用编程语言的风格很相似, ...
- R语言实战读书笔记(三)图形初阶
这篇简直是白写了,写到后面发现ggplot明显更好用 3.1 使用图形 attach(mtcars)plot(wt, mpg) #x轴wt,y轴pgabline(lm(mpg ~ wt)) #画线拟合 ...
- R语言-图形初阶
在本节中,主要目的是如何使用R语言做出简单的图形 案例1:做出wt和mpg之间的关系 attach(mtcars) plot(wt,mpg) abline(lm(mpg~wt)) title('Reg ...
- 《R语言实战》读书笔记--第三章 图形初阶(一)
3.1使用图形 可以使用pdf等函数将图形直接保存在文件中.在运用attach和detach函数的使用中经常出现错误,比如命名重复的问题,所以,应该尽量避免使用这两个函数. plot是一般的画图函数, ...
- 《R语言实战》读书笔记--第三章 图形初阶(二)
3.4添加文本.自定义坐标轴和图例 很多作图函数可以设置坐标轴和文本标注.比如标题.副标题.坐标轴标签.坐标轴范围等.需要注意的是并不是所有的绘图函数都有上述的参数,需要进行验证.可以将一些默认的参数 ...
- R提高篇(二): 图形初阶
目录: 图形示例 图形参数 符号.线条 颜色 文本属性 尺寸与边界 自定义标题 自定义坐标轴 图例 文本标注 图形组合 图形示例 如下代码描述病人对两种药物五个剂量水平上的响应情况 > myda ...
- R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html ---- 前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. ...
随机推荐
- 如何检测或判断一个文件或字节流(无BOM)是什么编码类型
前言: 昨天,在文章:终于等到你:CYQ.Data V5系列 (ORM数据层,支持.NET Core)最新版本开源了 中, 不小心看到一条留言: 然后就去该地址看了一下,这一看,顺带折腾了一天. 今天 ...
- 学习EtherCAT的感想
第一次进入到自动化领域,接触的第一个项目就是EtherCAT的测试.初次接触以太网,有一点茫然,百度看了很多关于EtherCAT的介绍,看了一些相关的论文.EtherCAT的资料很多:ETG1000. ...
- shell脚本获取进程ID并杀死的实现及问题解析
经常需要杀死某个进程,操作了几次之后,对一个熟练的码农来说,就要制作自己的工具了.有些工具虽然很小,但是却能节省一大部分的时间. 输入某个进程的ID并杀死的方法.这种事情,一般是先搜索再进行优化,这种 ...
- 【Android Studio安装部署系列】三十五、从Android studio3.0.1升级到Android studio3.1.4【以及创建android p模拟器的尝试(未成功)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 因为想要使用Android P模拟器,所以需要将Android Studio升级到3.1版本以上. Android P模拟器的最低版 ...
- Asp.Net Core中服务的生命周期选项区别和用法
在做一个小的Demo中,在一个界面上两次调用视图组件,并且在视图组件中都调用了数据库查询,结果发现,一直报错,将两个视图组件的调用分离,单独进行,却又是正常的,寻找一番,发现是配置依赖注入服务时,对于 ...
- Python:tesserocr 在 windows 下的安装及简单使用
tesserocr 是 python 的一个 OCR 库,它是对 tesseract 做的一层 Python API 封装,所以他的核心是tesseract. tesseract 的安装见 https ...
- JMeter主要组件介绍
JMeter主要组件介绍 转自https://www.cnblogs.com/linbo3168/p/6023962.html 作者:linbo.yang 1.测试计划(Test Plan)是使用 ...
- 粮草先行——Android折叠屏开发技术点(一)
最近有关折叠屏产品的新闻层出不穷,各家手机厂商也分别慢慢地亮出了自家的产品.然而市场上的一些APP仍然没有很好地适配这样的设备,显示不正常和应用重启的状况时有发生.因此,我会用接下来的几篇文章来点出有 ...
- C#中的CultureInfo类
CultureInfo类位于System.Globalization命名空间内,这个类和命名空间许多人都不是很熟悉,实际我们在写程序写都经常间接性的接触这个类,当进行数字,日期时间,字符串匹配时,都会 ...
- InnoSetup 以命令行自动编译打包
本章介绍,在新建Innosetup的编译脚本iss文件后,在不运行Innosetup软件的基础上,以bat自动编译运行打包. 一.添加Innosetup软件包 下载InnoSetup软件包并解压到bu ...