好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

R语言学习系列18-图形元素.doc

27页
  • 卖家[上传人]:灯火****19
  • 文档编号:124291507
  • 上传时间:2020-03-11
  • 文档格式:DOC
  • 文档大小:480.15KB
  • / 27 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 18. 图形元素目录:一. 函数plot二. 颜色三. 点四. 文字五. 线条六. 图例七. 坐标轴八. 子图九. 图形保存正文:R语言具有强大的图形可视化功能,可以逐条输入语句构建图形元素(颜色、点、线、文字、及图例等),逐渐完善图形特征,直到得到想要的效果图形元素的显示可以用图形函数和par函数的绘图参数来改良,也可以用绘制图形元素的基础函数来控制一、函数plot() 绘制二维散点图,基本格式为:plot(x, y=NULL, type = "p", xlim=NULL, ylim=NULL,log="", main=NULL, sub=NULL, xlab=NULL, ylab=NULL,ann=..., axes=TRUE, frame.plot=axes, ...)其中,x, y为坐标值,要求长度相同;type指定图形的类型,默认为"p"(圆圈的点),"l"表示线,"b"表示点线,"c"表示挖去点的线,"o"穿过点的线,"s"和"S"表示两种阶梯形,"h"表示像直方图的竖线;xlim设定x轴的范围;ylim设定y轴的范围;log="x"或"y"或"xy",设置坐标值用e的幂次形式显示;main设定主标题;sub设定副标题;xlab设定x轴标签;ylab设定y轴标签;ann设置是否显示标题和坐标轴标签;axes设置是否显示坐标轴;frame.plot设置是否显示图形区域的外边框二、颜色1. 绘图参数col用来设置图形元素的颜色R语言自带657种颜色,用函数colors()可显示它们的名字。

      R语言提供了固定调色板函数palette()包括8种颜色(可自定义,用palette("default")恢复默认),则用数字1~8表示相应的颜色palette() #默认包含的8种颜色[1] "black" "red" "green3" "blue" "cyan" "magenta" "yellow" "gray" 设置图形颜色的例:attach(mtcars)plot(wt,mpg,col="red")points(wt[cyl==6], mpg[cyl==6],col=3)points(wt[cyl==8], mpg[cyl==8],col=4)cl=c("red","green","blue")legend(5,35,c(4,6,8),pch=1,col=cl,bty = "n")detach(mtcars)注:若设定颜色的整数>8,将取余2. 生成渐变颜色R语言提供了一系列渐变颜色的生成函数,用来控制颜色值逐步变化1) RGB模型(红绿蓝混合)rgb(red, green, blue, alpha, max)将RGB颜色转化为16进制数值;max指定最大值255或1;red, green, blue在[0, max]中取值;alpha为透明度,0表示完全透明,取max值表示完全不透明;例如,rgb<-rgb(red=255,green=1:255,blue=0,max=255)生成 "#FF0100" "#FF0200"…"#FFFF00" 共255个颜色值,依次使用它们实现渐变效果。

      2) 彩虹色(赤橙黄绿青蓝紫)rainbow(n, start, end, alpha)(3) 高温、白热化(红黄白)heat.colors(n, start, end, alpha)(4) 地理图形(绿黄棕白)terrain.colors(n, start, end, alpha)(5) 蓝青黄棕topo.colors(n, start, end, alpha)(6) 青白粉红cm.colors (n, start, end, alpha)其中,n设定产生颜色的数目;start和end设定该类颜色的一个子集,生成的颜色将从该子集中产生;alpha为透明度7) RColorBrewer包提供的3套配色方案col=brewer.pal(n, name)n为颜色数目(≥3);name为颜色组名用display.brewer.all(type=...)设定调色方案:“seq”表示连续型(连续渐变);“div”表示极端型(用深色表示两端,浅色表示中间,可用来标记数据的离群点);“qual”表示离散型(生成一系列彼此差异比较明显的颜色,常用来标记分类数据)cl=brewer.pal(3,"Dark2") #使用RColorBrewer包配色方案par(mfrow=c(1,1))plot(wt,mpg,col=cl[1])points(wt[cyl==6],mpg[cyl==6],col=cl[2])points(wt[cyl==8],mpg[cyl==8],col=cl[3])legend(5,35,c(4,6,8),pch=1,col=cl,bty="n")cl=rainbow(3) #使用rainbow函数配色plot(wt,mpg,col=cl[1])points(wt[cyl==6],mpg[cyl==6],col=cl[2])points(wt[cyl==8],mpg[cyl==8],col=cl[3])legend(5,35,c(4,6,8),pch=1,col=cl,bty="n")pie(rep(1, 12), col = rainbow(12))三、点用函数points()在画布中添加点,基本格式为:points(x, y, pch=…, cex=…, bg=…, font=…, lwd=…)其中,x, y为点的坐标位置;pch指定点的样式,取0~25或"*","."等符号:cex设定点的大小,默认为1(不缩放),小于1表示缩小,大于1表示放大;col设定点边框填充的颜色;bg设定点内部填充的颜色,仅限21~25号样式的点;font设置字体,默认为1表示正常字体,2表示粗体,3表示斜体,4表示粗斜体;lwd设置点边框的宽度,默认为1(不缩放),小于1表示缩小,大于1表示放大attach(mtcars)head(mtcars,3) mpg cyl disp hp drat wt qsec vs am gear carbMazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1cyl<-as.factor(cyl)cyl [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4Levels: 4 6 8plot(wt, mpg, col="white")as.integer(cyl) [1] 2 2 1 2 3 2 3 1 1 2 2 3 3 3 3 3 3 1 1 1 1 3 3 3 3 1 1 1 3 2 3 1points(wt, mpg, pch=as.integer(cyl), col=as.integer(cyl))legend(5, 35, c(4,6,8), pch=1:3, col=1:3, bty="n")detach(mtcars)或者使用绘图参数改变点的样式,结果是一样的:plot(wt, mpg, pch=as.integer(cyl), col=as.integer(cyl))legend(5, 35, c(4,6,8), pch=2:4, col=2:4, bty="n")四、文字文字属性参数:cex设定字体大小,默认为1(不缩放),小于1表示缩小,大于1表示放大;col设定字体颜色; font设置字体样式,默认为1表示正常字体,2表示粗体,3表示斜体,4表示粗斜体。

      1. 函数title()——给图形添加标题基本格式为:title(main=..., sub=..., xlab=..., ylab=...,outer=FALSE, ...)其中,main为主标题,sub为副标题,xlab为x轴标题,ylab为y轴标题,它们的值都是列表list(text, font=, col=, cex=, …);outer,默认为FALSE,设置是否把标题在图形区域外面显示实例:plot(c(0:5),col="white",xlab="",ylab="")title(main=list("主标题",cex=1.5),sub=list("副标题",cex=1.2), xlab="x轴标题",ylab="y轴标题") 2. 函数text()——向图形任意位置添加文字基本格式为:text(x, y=NULL, labels=..., cex=1, col=NULL, font=NULL, ...)其中,x, y设定文字的位置;labels为文字内容实例:plot(c(0:5),col="white")text(3,2,labels="font=4:粗斜体字体",font=4, cex=1.5)3. 函数mtext()——向图形的四条边上添加文字基本格式为:mtext(text, side=3, line=0, cex=NA, col=NA, font=NA, ...)其中,text为文字内容;side设置哪一条边,1表示下,2表示左,3表示上,4表示右;line设置文字与图形边缘的距离,默认为0实例:mtext("side=1:下边",side=1,line=2); mtext("side=2:左边" ,side=2,line=2)mtext("side=3:上边",side=3); mtext("side=4:右边" ,side=4) cyl=as.factor(cyl)plot(wt,mpg,col="white",xlab="",ylab="")text(wt,mpg,cyl,col=as.integer(cyl)+1)title(main=list("Miles per Gallon vs. Weight by Cylinder",cex=1.5),xlab="Weight",ylab="Miles per Gallon")#或者通过绘图参数实现相同的效果plot(wt,mpg,pch=as.character(cyl),col=as.integer(cyl)+1,xlab="Weight",ylab="Miles per Gallon ", main="Miles per Gallon vs. Weight by Cylinder", cex.main=1.5)五、线条线条属性参数:lty设置线条样式,用数字表示:lwd设置线条粗细,默认为1(正常宽度),小于1(变细),大于1(变粗)。

      1. 函数lines()——绘制曲线基本格式为:lines(x。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.