R语言绘图画图例子RGraphCookbook例子[html]viewplaincopyprint?spanstyle=font-size:18px;/span[html]viewplaincopyprint?spanstyle=font-size:18px;From:/spanahref==fon画图例子RGraphCookbook例子[html]viewplaincopyprint?spanstyle=font-size:18px;/span[html]viewplaincopyprint?spanstyle=font-size:18px;From:/spanahref==font-size:18px;今天突然找到一本专门教授R语言绘图的书,RGraphCookbook,发现还不错。当初喜欢上R语言就是因为它绘图特别好看。下面把这本书的内容,经过我学习后,翻译并贴上了吧。(我水平还不够,原创还不行呀,不过学习就是先模仿再创新的过程)之所以要贴到博客上来,我是怕有一天我也忘记了,好直接到我博客上来搜索一下,同时也方便了别人。下面说的是用R语言绘制散点图。其实绘制散点图,用plot(x,y)直接就可以了,不过这样绘制出来的散点图太简单了,不能达到使用的要求,所以要详细得设置一些参数,才能让图形更加的漂亮。还是直接上代码吧,我已经做好注释的了。[python]viewplaincopyprint?1.spanstyle=font-size:18px;plot(cars$dist~cars$speed,#y~x,cars是R自带的数据2.main=Relationshipbetweencardistance&speed,#标题3.xlab=Speed(milesperhour),#x轴标题4.ylab=Distancetravelled(miles),#Y轴标题5.xlim=c(0,30),#设置x轴的取值区间为0到306.ylim=c(0,140),#设置y轴的取值区间为0到1407.xaxs=i,#这里是设置x轴的风格,暂时没看明白有多大区别8.yaxs=i,9.col=red,#设置颜色10.pch=19)#pch指代点的形状,用数字表示,可查看帮助文档11.#如果要保存图片怎么办呢?我觉得最简单的方法就是使用RStudio这个IDE,极其得好,可惜很多人都不知道。#如果你不会,可以用如下代码实现:#(图形的参数还有很多个,我这里只使用了其中的几个)12.png(filename=散点图.png,width=480,height=480)13.plot(cars$dist~cars$speed,#y~x14.main=Relationshipbetweencardistance&speed,#标题15.xlab=Speed(milesperhour),#x轴标题16.ylab=Distancetravelled(miles),#Y轴标题17.xlim=c(0,30),#设置x轴的取值区间为0到3018.ylim=c(0,140),#设置y轴的取值区间为0到14019.xaxs=i,#这里是设置x轴的风格,暂时没看明白有多大区别20.yaxs=i,21.col=red,22.pch=19)#pch指代点的形状,用数字表示,可查看帮助文档23.dev.off()24./span如果你还有另一组数据,需要在上面这幅图里绘制,也就是在同一幅图里面绘制两组数据的散点图,可以像下面这样用point函数:[plain]viewplaincopyprint?1.spanstyle=font-size:18px;png(filename=散点图.png,width=480,height=480)2.plot(cars$dist~cars$speed,#y~x3.main=Relationshipbetweencardistance&speed,#标题4.xlab=Speed(milesperhour),#x轴标题5.ylab=Distancetravelled(miles),#Y轴标题6.xlim=c(0,30),#设置x轴的取值区间为0到307.ylim=c(0,140),#设置y轴的取值区间为0到1408.xaxs=i,#这里是设置x轴的风格,暂时没看明白有多大区别9.yaxs=i,10.col=red,11.pch=3)#pch指代点的形状,用数字表示,可查看帮助文档12.points(cars$speed~cars$dist,pch=19)#因为比较难弄数据,就把原先的数据因果关系颠倒一下,pch设置与前面不同以区分13.dev.off()/span如果自己没有数据的话,可以用data()查看R语言内置的数据的哦。还是有挺多数据的。上面的这些是散点图,但是你只要在参数里面type=l#是字母l,那么就会将这些点串联起来画成线了。下面是条形图的绘制方法(barplot),数据是该书自带的,代码如下:[plain]viewplaincopyprint?spanstyle=font-size:18px;png(filename=散点图.png,width=480,height=480)1.Sales-read.csv(/home/rickey/文档/电子书/R教程/LearnRstatistics/RGraph/Code/Chapter1/DataFiles/citysales.csv,header=TRUE)#header设置为TRUE表示把数据行和列的名称也读取进来2.barplot(Sales$ProductA,3.names.arg=Sales$City,4.col=blue)5.dev.off()/span图形输出(pdf\Win\PBG\JPEG\BMP\PostScript)用代码保存图形,将绘图语句夹在开启目标图形设备的语句和关闭目标图形设备的语句之间即可。[python]viewplaincopyprint?1.spanstyle=font-size:18px;#pdf(mygraph.pdf)#pdf文件2.win.metafile(filename.wmf)#windows图形文件3.#png(filename.png)#PBG文件4.#jpeg(filename.jpg)#JPEG文件5.#bmp(filename.bmp)#BMP文件6.#postscript(filename.ps)#PostScript文件7.attach(mtcars)8.plot(wt,mpg)9.abline(lm(mpg~wt))10.title(RegressionofMPGonWeight)11.detach(mtcars)12.dev.off()13./span图形初阶使用图形[python]viewplaincopyprint?1.spanstyle=font-size:18px;dose=c(20,30,40,45,60)2.drugA=c(16,20,27,40,60)3.drugB=c(15,18,25,31,40)4.plot(dose,drugA,type=b)/spantype=b同时画出点和线type=“c没有点只有线5.图形参数在上例中,我们想使用实心三角而不是空心圆圈作为点符号的话,病想用虚线代替实现连接这些点:[python]viewplaincopyprint?1.spanstyle=font-size:18px;dose=c(20,30,40,45,60)2.drugA=c(16,20,27,40,60)3.drugB=c(15,18,25,31,40)4.plot(dose,drugA,type=b)5.opar=par(no.readonly=TRUE)#复制一份单签的图形参数6.par(lty=2,pch=17)#将默认的线性类型修改为虚线(lty=2)并且将默认的点符号改为了实心三角(pch=17)7.#也可以使用par(lty=2);par(pch=17)两句8.plot(dose,drugA,type=b)#绘制了图形9.par(opar)#还原了原始设置10.#或者这样写plot(dose,drugA,type=b,lty=2,pch=17)来画图,但只是针对于这张图11./spanpch:指定绘制点时使用的符号cex:指定符号的大小。cex是一个数值,表示绘图符号相对于默认值大小的缩放倍数。默认大小为1,1.5表示放大为默认值的1.5倍.lty:指定线条类型lwd:指定线条宽度。(默认值的几倍)col:默认的绘图颜色。如这是col=c(red,blue)并需要绘制三条线,第一条为红色,第二条为蓝色,第三条为红色col.axis坐标轴颜色col.main标题颜色col.sub副标题的颜色fg前景色bg背景色example:col=1,col=whitecol=#FFFFFFcol=rgb(1,1,1)col=hsv(0,1,1)都可以表示白色R中也用多种用于创建连续型颜色向量的函数:rainbow()heat.colors()terrain.colors()top.colors()cm.colors()gray()可以生成多节灰度[python]viewplaincopyprint?1.spanstyle=font-size:18px;n=102.mycolors=rainbow(n)3.pie(rep(1,n),labels=mycolors,col=mycolors)4.mygrays=gray(0:n/n)5.pie(rep(1,n),labels=mygrays,col=mygrays)/span6.文本属性cex:表示相对默认大小缩放倍数的数值。(倍数)cex.axis:坐标轴刻度文字的缩放倍数。cex.lab:坐标轴标签(名称)的缩放倍数。cex.main:标题的缩放倍数cex.sub:副标题的缩放倍数font:整数类型。1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体(adobe编码)font.axisfont.labfont.mainfont.subps磅值文本最终的大小为ps*cexfamily绘制文本是使用的字体族。标准取值为serif(衬线)、sans(无衬线)和mono(等宽)Windows中,可以通过函数windowsFont()创造新的映射。(Mac,采用quartzFont())PDF或者PostScript输出格式图形,修改相对简单。PDF使用names(pdfFonts())找出系统有哪些字体可用,然后用pdf(file=”myplot.pdf“,family=fontname)生成图形。PostScript输出格式的图形,可以使用names(postscriptFonts())和postscript(file=myplot.ps,family=fontname)7.图形尺寸和边界尺寸pin:以英寸表示的图形尺寸(宽和高)mai:以数值向量表示的边界大小,顺序为“下、左、上、右”单位为英寸mar:以数值向量表示的边界大小,顺序为“下、左、上、右”单位为英分。默认=c(5,4,4,2)+0.18.添加文本、自定义坐标和图例[python]viewplaincopyprint?1.spanstyle=font-size:18px;dose=c(20,30,40,45,60)2.drugA=c(16,20,27,40,60)3.drugB=c(15,1