1、图形参数的修改par()函数
我们可以通过使用par()函数来修改图形的参数,其调用格式为par(optionname=name, optionname=name,…)。当par()不加参数时,返回当前图形参数设置的列表;par(no.readonly=T)将生成一个可以修改当前参数设置的列表。注意以这种方式修改参数设置,除非参数再次被修改,否则一直执行此参数设置。 例如现在想画出mtcars数据集中mpg的折线图,并用虚线代替实线,并将两幅图排列在同一幅图里,代码及图形如下:
> opar<-par(no.readonly=T) #生成修改当前参数设置的列表
> par(mfrow=c(2,1)) #两幅图排成2行1列
> plot(mpg,type="b",main="实线折线图")
> par(lty=2,pch=16) #将实线改为虚线,空心圆改为实心圆
> plot(mpg,type="b",main="虚线折线图")
> par(opar) #结束此次参数设置
par()函数可以修改的参数见下表:
选项 | 含义 |
---|---|
pch | 指定绘点时所使用的符号。具体符号的表示见《R语言实战》第2版的第3章 |
cex | 是一个数值,默认值为1,用来指定符号的大小 |
lty | 图形线条类型。具体符号的表示见《R语言实战》第2版的第3章 |
lwd | 设置图形线条宽度,默认值为1 |
col | 图形线条颜色,可以为向量形式,并且会自动循环使用。如c(“red”,”green”),需要绘制4条线,则4条线的颜色依次为red,green,red,green |
col.axis | 坐标轴刻度文字的颜色 |
col.lab | 坐标轴名称的颜色 |
col.main | 图形的颜色 |
col.sub | 图形副的颜色 |
bg | 图形的背景颜色 |
cex | 指定文本大小。默认值为1 |
cex.axis | 坐标轴刻度文字的大小 |
cex.lab | 坐标轴标签的大小 |
cex.main | 图形的大小 |
cex.sub | 图形副的大小 |
font | 指定绘图使用的字体样式,取整数。1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体 |
font.axis | 坐标轴刻度字体的样式 |
font.lab | 坐标轴名称的字体样式 |
font.main | 图形的字体样式 |
font.sub | 图形副的字体样式 |
ps | 字体磅值,文本的最终大小为ps*cex |
pin | 图形的宽和高,以英寸表示 |
mai | 以数值向量表示的图形边界的大小,顺序为“下,左,上,右”,单位为英寸 |
mar | 以数值向量表示的图形边界的大小,顺序为“下,左,上,右”,单位为英分 |
2、自定义title()和坐标轴axis()
可使用title()添加图形和坐标轴标签。调用格式为:title(main=”main title”,sub=”subtitle”,xlab=”',ylab=”“)。 示例代码如下:
> plot(mpg,xlim=c(0,40),ylim=c(5,40),type="b") #定义了x,y轴的范围
> title(ylab="耗油量",xlab="x",main="mpg折线图")
同样可以使用axis()来自定义坐标轴,调用格式如下:axis(side,at=,labels=,pos=,lty=,col=,las=,tck=,…) 自定义坐标轴时,应将绘图函数里自动生成的坐标轴禁用.
选项 | 含义 |
---|---|
axes=F | 禁用全部坐标轴,包括坐标轴框线,除非添加了参数frame.plot=T |
xaxt=”n” | 去除x轴上的刻度线 |
yaxt=”n” | 去除y轴上的刻度线 |
axis()函数参数的释义如下表所示:
选项 | 含义 |
---|---|
side | 表示在图形的哪边绘制坐标轴,取值为整数。1=下,2=左,3=右,4=上 |
at | 数值向量,表示要绘制刻度的位置 |
labels | 字符向量,表示刻度线旁的文字标签,若为NULL,则直接用at中的值代替 |
pos | 绘制坐标轴的位置坐标 |
lty | 线条类型 |
col | 线条和刻度颜色 |
las | 标签是否平行或者垂直于坐标轴(0=平行,2=垂直) |
tck | 刻度线的长度,正值表示在图形内侧,负值表示在外侧,默认值为-0.01 |
现在需要绘制x轴坐标在下,坐标轴线为红色 ,且刻度以5位间隔的mpg的折线图。代码及图形如下:
> attach(mtcars)
> par(mar=c(5,8,8,2)+0.1)#增加图形边界
> plot(mpg,xaxt="n",type="b",main="去除x轴刻度线")#一定要设置xaxt="n",去除x轴的刻度
> axis(side=1,at=seq(1,40,5),col="red",tck=-0.02)#绘制自己想要的坐标轴
3、参考线abline()及图例legend()
可以使用abline()函数为图形添加参考线,调用格式为abline(h=,v=,col,lty,…),颜色,线条类型参数的含义同上,这里只解释h和v的含义。
选项 | 含义 |
---|---|
h | 水平参考线的值 |
v | 垂直参考线的值 |
如使用abline()函数为上图添加一条水平y=20,红色的参考线。代码及图形如下:
> attach(mtcars)
> par(mar=c(5,8,8,2)+0.1)#增加图形边界
> plot(mpg,xaxt="n",type="b",main="去除x轴刻度线")#一定要设置xaxt="n",去除x轴的刻度
> axis(side=1,at=seq(1,40,5),col="red",tck=-0.02)#绘制自己想要的坐标轴
> abline(h=20,col="red") #添加参考线
当图形中的数据包含多组时,我们就需要对图形添加一个图例来说明每一组数据。legend()函数可以用来添加图例,调用格式如下:legend(location,title,col,cex,lty,…)
参数 | 含义 |
---|---|
location | 指定图例的位置。有三种方法:1、直接给定图例左上角x,y坐标。2、使用locator(1),然后通过在图形上单击鼠标确定图例的位置。一般这种方法比较好用。3、直接使用关键字,如bottom,bottomleft,topleft,left,right,center,top,topright,right等 |
legend | 图例标签的名称,通常为一个字符向量 |
title | 图例的名称 |
col | 图例中每组变量图线的颜色,通常为一个向量 |
cex | 图例大小,默认为1 |
lty | 图例中每组变量图线的类型,通常为一个向量 |
示例代码如下:
> y<-c(1:10)
> x1<-seq(1,20,2)
> x2<-seq(1,30,3)
> plot(x1,y,type="b",col="red",lty=1,pch=1,xlim=c(0,30),xlab="")
> lines(x2,y,type="b",col="green",lty=2,pch=2) #添加第二组数据的图线
>legend(locator(1),legend=c("x1","x2"),col=c("red","green"),lty=c(1,2),cex=0.7,pch=c(1,2)) #使用鼠标单击确定图例位置的方法添加图例
4、添加文本标注text()和mtext()
有时画出图形后,想要对图中的点的标签标出,这时可以使用text()和mtext(),其中text()可以在绘图区域里添加文本标签,mtext()可以在绘图区域外添加文本标签。调用格式为:text(location,labels,pos,side,…)
参数 | 含义 |
---|---|
location | 指定文本的位置。可使用x,y坐标确定需要添加文本的位置,也可使用locator(n),用鼠标交互式的确定n个文本标签的位置 |
labels | 文本标签,通常为一个向量,文本标签向量的长度必须和location中x,y的长度一致 |
pos | 文本相对点的方位。1=下,2=左,3=上,4=右。同时可以指定offset=作为偏移量,以相对于单个媳妇宽度的比例表示 |
side | 指定放置文本的边。1=下,2=左,3=上,4=右 |
line | 内移或外移文本 |
> y<-c(1:10)
> x1<-seq(1,20,2)
> x2<-seq(1,30,3)
> plot(x1,y,type="b",col="red",lty=1,pch=1,xlim=c(0,30),xlab="")
> lines(x2,y,type="b",col="green",lty=2,pch=2)
>legend(locator(1),legend=c("x1","x2"),col=c("red","green"),lty=c(1,2),cex=0.7,pch=c(1,2))
> text(locator(2),c("a","b"),pos=4) #添加2个文本标签
总结
到此这篇关于R语言数据可视化学习之图形参数修改的文章就介绍到这了,更多相关R语言图形参数修改内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!