# 图形创建
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()
R 图形初步
最新推荐文章于 2022-02-06 16:23:46 发布