R语言的graphics功能(画图)
找了好久,终于找到了画各种统计图的画图工具,那就是R,本文主要介绍R中的各种图形绘制方法。R中有非常强大的绘图功能,本文也不能一一列举,如果想要具体了解,可在R中输入demo(graphic)或者demo(persp)查看。绘图函数需要将图输出到绘图设备上,绘图设备的形式有很多种,可以是窗口,可以是写入一个jpeg、bmp、tiff等图片文件格式,具体可用help(device)查看。
1. 打开多个绘图设备
前面已经提到,绘图设备有多重,如果是R中的窗口,可以用函数x11()来打开窗口,虽然x11是在linux下的叫法,但是在windows中也可以用该函数,当然也可以用windows打开;另外如果要打开不同的图形文件设备,可以用jpeg()/bmp()、tiff()等函数打开不同类型的文件设备。dev.list()可返还当前打开的所有的图形设备。dev.cur()返回当前的图形设备,还有dev.set(number)用于激活相应的图形设备,dev.next(),dev.prev()用于切换。dev.off()用于关闭当前设备,这个函数可以指定设备号来关闭,比如dev.off(1);用graphic.off()可以关闭所有的设备。
2. Graphic的分割
下面介绍的几个函数可以实现graphic的分割功能,但是这些都不是兼容的(即不能同时使用),
Screen:
用x11()等函数打开图形设备之后,就可以使用相应的screen函数了。
split.screen(c(2,2))该函数用于将screen分成2行2列,标识符按行分别从1到2*2标记,参数向量用于指定每个screen的标识符,注意不能分割太多,会造成图画不下的情况。
split.screen(c(1,2), screen=2)可以将子screen再次进行分割screen这个参数用于指定需要再次分割的标识符。
加下去就是画图了
screen(2)用于选中标识符为2的子屏幕,以后的画图函数都在2这个子屏幕中生效,如果2这个子屏幕中已经被画过了,它会清空已经画过的。如果不想清空 只需 screen(2, FALSE)即可
erase.screen(n=) 用于清空指定标识符上的图形
close.screen(n, all.screens =FALSE) 关闭屏幕,相当于清空了标识符,因此再也不能定位到相应的屏幕了
Layout:
相比screen函数,还有一个Layout,比screen更加灵活(理论上可以设置出任意的布局),也更加方便。
layout(mat, widths, heights):mat用于划分整个布局,如果mat中两块数字相同则布局显示时候会将那两块显示在一起。Widths和heights都是一个向量,长度分别和列数和行数相同,用来表示每一块列或者行的相对长度。如果要用绝对的,可用lcm(5)这个函数,返回5cm
layout.show(n)用来显示子窗口的个数。
在画图的时候,Layout中默认是bycolonm的,即画图时候,先画a[1,1].再a[1,2],再a[2,1]a[2,2],如果要a[1,1]之后是a[1,2]只要在matrix这个参数中指定byrow=TRUE即可。
3. 绘图函数
高级绘图函数:
> mat <- matrix(c(1:4), 2, 2) > layout(mat) > plot(1:10) > text(5, 5, labels = "plot(1:10)") > > plot(1:10, cos(1:10)) > text(5, 5, labels = "plot(1:10, cos(1:10))") > > sunflowerplot(1:10, 1:10) > > pie(c(0.1, 0.2, 0.3, 0.4))
> x11() > layout(mat) > boxplot(1:10) > stripchart(1:10)
> x = 1:10 > y = 3:12 > z = x + y > coplot(x~y|z)
好多函数啊!!!脖子酸了!!就不一一列举了,因为暂时还用不到,以后等用到了再贴进来吧!!
低级绘图函数:
4. 绘图参数
绘图参数可以作为图形函数的参数来指定相应的属性,这里来介绍一个另外的方法,par();
Par这个函数有如下参数,可以修改图形中的不同的属性:
绘图参数和低级作图函数使我们可以进一步改善图形。前面我们已经看到,一些绘图参数不允许作为plot这样的函数的自变量。我们可以用par()来修改这些参数,这样就必须输入多行的命令。在改变绘图参数时,预先保存它们的初始值以便以后恢复十分有用,如下:
opar <- par() par(bg="lightyellow", col.axis="blue", mar=c(4, 4, 2.5, 0.25)) plot(x, y, xlab="Ten random values", ylab="Ten other values", xlim=c(-2, 2), ylim=c(-2, 2), pch=22, col="red", bg="yellow", bty="l", tcl=-.25, las=1, cex=1.5) title("How to customize a plot with R (bis)", font.main=3, adj=1) par(opar)
R的graphics就介绍到这里,待实际使用的时候再慢慢去领悟。
posted on 2013-08-13 16:08 Jackie_Zhu 阅读(4319) 评论(0) 编辑 收藏 举报