R语言数据可视化之图形参数修改 |
您所在的位置:网站首页 › R语言列线图怎么调整 › R语言数据可视化之图形参数修改 |
1、图形参数的修改par()函数
我们可以通过使用par()函数来修改图形的参数,其调用格式为par(optionname=name, optionname=name,…)。当par()不加参数时,返回当前图形参数设置的列表;par(no.readonly=T)将生成一个可以修改当前参数设置的列表。注意以这种方式修改参数设置,除非参数再次被修改,否则一直执行此参数设置。 例如现在想画出mtcars数据集中mpg的折线图,并用虚线代替实线,并将两幅图排列在同一幅图里,代码及图形如下: > opar par(mfrow=c(2,1)) #两幅图排成2行1列 > plot(mpg,type="b",main="实线折线图") > par(lty=2,pch=16) #将实线改为虚线,空心圆改为实心圆 > plot(mpg,type="b",main="虚线折线图") > par(opar) #结束此次参数设置
可使用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()函数参数的释义如下表所示: 选项含义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)#绘制自己想要的坐标轴可以使用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") #添加参考线
示例代码如下: > y x1 x2 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()和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 x1 x2 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个文本标签 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |