R语言学习——图形初阶之折线图与图形参数控制

摘要:
Lwd由默认值的相对大小表示。例如,lwd=2将生成两倍于默认宽度的线。

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剂量和响应的折线图

R语言学习——图形初阶之折线图与图形参数控制第1张

修改符号和线条

> opar<-par(no.readonly = TRUE) # 生成一个可以修改的当前图形参数列表
> par(lty=2,pch=17) # 将线条类型修改为虚线(lty=2),将点符改为实心三角(pch=17)
> plot(dose,drugA,type="b") # 绘制图形

R语言学习——图形初阶之折线图与图形参数控制第2张

> par(opar)  # 还原原始设置
> plot(dose,drugA,type = "b",lty=2,pch=17) # 也可实现上述修改

R语言学习——图形初阶之折线图与图形参数控制第3张

> plot(dose,drugA,type = "b",lty=2,pch=15,lwd=3,cex=2) # 也可实现上述修改

 R语言学习——图形初阶之折线图与图形参数控制第4张

pch= 指定绘制点时使用的符号,可能的值如下图所示。

R语言学习——图形初阶之折线图与图形参数控制第5张

cex= 指定符号的大小。cex是一个数值,表示绘图符号相对于默认大小的缩放倍数。默认大小为1。1.5表示放大为默认值的1.5倍,0.5表示缩小为默认值的50%,等等。

lty= 指定线条类型,可能的值如下图所示。

R语言学习——图形初阶之折线图与图形参数控制第6张

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")

R语言学习——图形初阶之折线图与图形参数控制第7张

> plot(dose,drugB,type = "b",lty=6,pch=23,lwd=2,cex=1.5,col="blue",bg="green")

R语言学习——图形初阶之折线图与图形参数控制第8张

修改图形尺寸和边界大小

用于控制图形尺寸和边界大小的参数

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) #  还原原始设置

R语言学习——图形初阶之折线图与图形参数控制第9张

添加文本、自定义坐标轴和图例

绘制药物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))

R语言学习——图形初阶之折线图与图形参数控制第10张

注:某些高级绘图函数已经包含了默认的标题和标签,可以通过在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)

R语言学习——图形初阶之折线图与图形参数控制第11张

> #添加x对1/x的直线

> lines(x,z,type = "b",pch=22,col="blue",lty=2)

R语言学习——图形初阶之折线图与图形参数控制第12张

> #绘制自定义坐标轴
> 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)

R语言学习——图形初阶之折线图与图形参数控制第13张

> #添加标题和文本
> 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")

R语言学习——图形初阶之折线图与图形参数控制第14张

> par(opar) #  还原原始设置

免责声明:文章转载自《R语言学习——图形初阶之折线图与图形参数控制》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JAVA中使用动态链接库须知对分组进行添加二级域名下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

pgsql 相关函数

1、COALESCE — 空值替换函数。示例:COALESCE(col, 'replacement') :如果col列的值为null,则col的值将被替换为'replacement' 2、regexp_split_to_table — 行专列该函数将对指定列的值进行分割,分割后的每个子串将转成一行,多个子串将转成多行。 示例:regexp_split_to...

PyQtGraph 绘图

数据绘图方案 Python语言 的数据可视化(绘图) 方法,常见的有 Matplotlib 和 PyQtGraph Matplotlib 说到 Python语言 的数据作图, Matplotlib 当然是最有名的。 优点: 功能完备、成熟稳定、社区生态圈庞大。 缺点: 某些作图场景性能不高。 PyQtGraph PyQtGraph 是基于Qt 的纯Py...

【转】 MATLAB界面程序实例学习

下面请跟我一步一步做一个图像处理的程序,如果您坚持做完这个实例,我想MATLAB界面编程对您而言,就没有什么难度了。当然,我这里说的是,您首先要有一定的MATLAB编程基础。还有,我的MATLAB版本是2008a。在2008a以前的版本中没有工具栏编辑器,如果需要工具栏要手动写程序,这个我就不多讲了。好了,废话少说,跟我来吧!在MATLAB的命令窗口(Co...

MySql操作手册

MySql MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySql操作手册 安装装M...

ListView实现点击列排序

当我们用ListView显示数据时,有一种很人性化的设计便是单击ListView某一列,该列则以升序或降序排列。 自己定义一个类继承自IComparer接口 代码如下: classListViewSort:IComparer{privateintcol; privatebooldescK; publicListViewSort() { col...

Chart控件文档

假设c1Chart1为Chart控件的一个实例。一、基本框架图二、主要外层属性(即this.c1Chart1的主要属性)1、Header和Footer,上标题和下标题。位于this.c1Chart1.Header和this.c1Chart2、Legend。图例,位于this.c1Chart.Legend。3、ChartArea。图表区,位于this.cha...