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  阅读(4233)  评论(0编辑  收藏  举报

导航

请联系我