# 图形创建 pdf("mygraph.pdf") attach(mtcars) plot(wt,mpg) abline(lm(mpg~wt)) title("Regression of mpg on weight") detach(mtcars) #说明: pdf("mygraph.pdf") 为保存开启文件,dev.off()关闭文件操作的设备 #说明: 除了PDF外还有 : png(),jpeg(),bmp(),tiff(),xfig(),postscript(),win.metafile() ,用法和pdf一样 #说明: abline(lm(mpg~wt)) 绘制最优拟合曲线 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") # 修改图形参数 opar <-par(no.readonly=TRUE) #复制一份图形参数设置 par(lty=2,pch=17) #将线条类型换成 虚线 ,并将点改成实心三角型 plot(dose,drugA,type="b") par(opar) #应用新图形参数 #说明:图形参数的修改 可以直接在图形绘制函数中制定对应参数: plot(dose,drugA,type="b",lty=2,pch=17) #图形参数 #符号和线条 #pch--->绘制点适用的符号 #cex--->指定符号大小 #lty--->指定线条类型 #lwd--->指定线条宽度 #颜色 #col--->默认的绘图颜色 #col.axis--->坐标zhu刻度文字的颜色 #col.lab--->坐标住标签的颜色 #col.main--->标题颜色 #col.sub--->副标题颜色 #fg--->图形的前景色 #bg--->图形的背景色 #颜色函数:rainbow(),heat.colors(),terrain.colors(),topo.colors(),cm.colors() n<-10 mycolors<-rainbow(n) pie(rep(1,n),labels=mycolors,col=mycolors) mygrays<-gray(0:n/n) pie(rep(1,n),labels=mygrays,col=mygrays) #文本属性 #cex--->默认文本属性,默认为1,1.5表示放到原来的1.5倍 #cex.axis --->坐标刻度文字缩放倍数 #cex.lab--->坐标住标签的缩放倍数 #cex.main--->标题的缩放倍数 #cex.sub--->副标题的缩放倍数 #font--->字体样式,1 常规2粗体3斜体4粗斜体 #font.axis --->坐标刻度文字缩放倍数 #font.lab--->坐标住标签的缩放倍数 #font.main--->标题的缩放倍数 #font.sub--->副标题的缩放倍数 #ps--->字体磅值。字体最终大小: ps*cex #图形尺寸 #pin--->英寸,表示图片尺寸:宽和高 #mai--->以数值向量表示边界大小,单位英分;顺序:下左上右 #mar--->以数值向量表示边界大小,单位英寸;顺序:下左上右 opar <-par(no.readonly=TRUE) par(pin=c(2,3)) par(lwd=2,cex=1.5) par(cex.axis=.75,font.axis=3) plot(dose,drugA,type="b",pch=19,lty=2,col="red") plot(dose,drugA,type="b",pch=23,lty=6,col="blue",bg="green") par(opar) # 图形保存 #dev.off() 保存图片 # 图形标注和标题 #标题 #title(main="main title",sub="sub-title",xlab="x-axis label",ylab="y-axis label") #title函数可指定其他图形参数 #坐标轴 #axis(side,at=,labels=,pos=,lty=,col=,las=,tck=,...) #side--->表示在那边绘制坐标轴(1下2左3上4右 #at--->表示需要绘制刻度线的位置 #labels--->字符向量,表示刻度线旁的文字 #pos--->刻度线绘制的位置 #lty--->线条类型 #col--->线条和刻度线颜色 #las--->标签是否平行于坐标轴(0平行,2垂直) #tck--->刻度线的长度 #example x<-c(1:10) y<-x z<-10/x #生成数据 opar<-par(no.readonly=TRUE) par(mar=c(5,4,4,8)+0.1) #增加边界大小 plot(x,y,type="b",pch=21,col="red",yaxt="n",lty=3,ann=FALSE) #绘制x对y的图形 lines(x,z,type="b",pch=22,col="blue",lty=2) #添加x对1/x的直线 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=-.01) mtext("y=1/x",side=4,line=3,cex.lab=1,las=2,col="blue") #添加标题和文本 title("An Example",xlab="X values",ylab="Y=X") par(opar) #图例 #legend(location,title,legend,...) #location--->图例位置:bottom,bottomleft,left,topleft,top,topright,right,bottomright,center #title--->图例标题 #legend--->字符向量 #example opar<-par(no.readonly=TRUE) par(lwd=2,cex=1.5,font.lab=2) #增加线条、文本、符号、标签的宽度或大小 plot(dose,drugA,type="b",pch=15,lty=1,col="red",ylim=c(0,60),main="drug A vs Drug B",xlab="DRUG DOSAGE",ylab="drug dosage") lines(dose,drugA,type="b",pch=17,lty=2,col="blue") abline(h=c(30),lwd=1.5,lty=2,col="gray") #添加次要刻度线 library(Hmisc) minor.tick(nx=3,ny=3,tick.ratio=0.5) legend("topleft",inset=.05,title="drug type",c("A","B"),lty=c(1,2),pch=c(15,17),col=c("red","blue")) #添加图例 par(opar) #文本标注 #text(location,"text to place",pos,...) --- 可包含其他图形参数 #mtext("text to place",side,line=n, ...) #location--->文本的位置参数(可以为x,y) #pos--->文本相对与location的方位(1下,2左,3上,4右) #side--->指定用来放文本的边(1下,2左,3上,4右) opar<-par(no.readonly=TRUE) par(cex=1.5) plot(1:7,1:7,type="n") text(3,3,"example of default text") text(4,4,family="mono","example of mono-spaced text") text(5,5,family="serif","example of serif text") par(opar) #数学标注 #plotmath # 多图形组合 #函数 par 和 layout 可以完成图形组合 #par函数通过设定mfrow参数来指定行列 mfrow=c(nrows,ncols) attach(mtcars) opar<-par(no.readonly=TRUE) par(mfrow=c(3,1)) hist(wt) hist(mpg) hist(disp) par(opar) detach(mtcars) dev.off()