R语言学习四 图像的绘制一

来源:互联网 发布:php手册中文版 编辑:程序博客网 时间:2024/06/10 12:07
1、基础
#连接数据框
> attach(mtcars)
#建立一个图像框和绘制点
> plot(wt,mpg)
#画拟合线
> abline(lm(mpg~wt))
#标题
> title("Regression of MPG on Weight")
#断开数据框
> detach(mtcars)


#直接输出为pdf格式,保存在当前工作目录下
> pdf("mygraph.pdf")
> attach(mtcars)
> plot(wt,mpg)
> abline(lm(mpg~wt))
> detach(mtcars)
> dev.off()

其它的存储形式:win.metafile() png() jpeg() ,
bmp() tiff() xfig() postscript() 

#生成一个新的窗口
> dev.new()

#两点的连线 type="b"
> 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")



2、图形参数
#opar= par() 一幅图开始之前先把参数保存在一个对象中
> opar <- par(no.readonly=TRUE)
#par() 图像参数设置,虚线lty=2, 实黑三角pch=17
> par(lty=2, pch=17)
> plot(dose, drugA, type="b")
#把之前保存的参数释放出来,这样不会影响下一幅图像
> par(opar)



#两句可以合并
>plot(dose, drugA, type="b", lty=2, pch=17)

参数
pch:图像点的类型
cex:点的大小,默认1,cex=1.5表示比默认大50%,cex=0.5表示比默认小50%
lty:连接线的类型
lwd:线条的宽度,默认1,lwd=2默认的两倍



3、颜色参数

这几种都可以表示白色
col=1col="white" col="#FFFFFF" col=rgb(1,1,1) col=hsv(0,0,1)

如果要多种颜色,col=c(“red”, “blue”),表示第一条红色,第二条蓝色,第三条红色。。。
 
col.axis 坐标轴文本的颜色。
col.lab 
轴标签的颜色。
col.main 标题的颜色
col.sub 备注的颜色
fg 前景色
bg 背景色


查看有哪些颜色
#rainbow()提供的颜色
> 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)



4、文本参数
cex.axis 轴上的文字相对于cex的放大。
cex.lab 轴标签相对于cex的放大。
cex.main 
标题相对于cex的放大。
cex.sub 
备注相对于cex的放大

#文本的字体
font 1=正常, 2=加粗, 3=斜体,4=加粗倾斜, 5=编码符号.
font.axis
轴上的文字的字体
font.lab
轴标签的字体
font.main
标题的字体
font.sub 备注字体
ps
字体的点的大小(大约 1/72 英寸).
The text size = ps*cex.
family用于绘制文本的字体系列

windows电脑下
windowsFonts(
A=windowsFont("Arial Black"),
B=windowsFont("Bookman Old Style"),
C=windowsFont("Comic Sans MS")
)


par(family="A")楷体黑色

Mac下用quartzFonts()  


5、图的边距尺寸
pin 图像尺寸(英寸)
mai 边距(下,左,上,右)
mar 边距数值向量,默认c(5, 4, 4, 2) + 0.1

如:par(pin=c(4,3), mai=c(1,.5, 1, .2))


6、举例
dose <- c(20, 30, 40, 45, 60) 
drugA <- c(16, 20, 27, 40, 60)
drugB <- c(15, 18, 25, 31, 40)
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, drugB, type="b", pch=23, lty=6, col="blue", bg="green")
par(opar)




0 0
原创粉丝点击