加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

R语言  layout()

(2017-09-04 16:14:25)
分类: R语言

 layout():mat用矩阵设置窗口的划分,矩阵的0元素表示该位置不画图,非0元素必须包括从1开始的连续的整数值,比如:1……N,按非0元素的大小设置图形的顺序。widths用来设置窗口不同列的宽度,heights设置不同行的高度。par()的mfcol,和mfrow参数也有类似layout的功能。layout()函数的一般形式为layout(mat),mat为一矩阵,mat元素的数量决定了一个output device被等分成几份相同元素为一块。

layout(matrix(c(1,2,3,0,2,3,0,0,3),nr=3)) matrix有9个元素,具有这样的形式:

       [,1] [,2] [,3]

[1,]        0

[2,]        0

[3,]        3

把这个矩阵传入layout函数,我们就能得到这样的output device

18989034

如此,figure1占据了左上角的一个格子,第二行的前两个格子属于figure2,figure3占满最下一行的三个格子。

layout(matrix(1:4,2,2)) #将当前装置分割为矩阵2行2列的布局

     [,1] [,2]

[1,]      3

[2,]      4

layout.show(4) #显示绘图装置分割好的1到4部分;

http://s15/middle/001IAGNuzy6Gz1IdP663e&690

查看下面代码的不同之处:

layout(matrix(1:6,3,2)) #将当前装置分割为3行2列的布局

     [,1] [,2]

[1,]      4

[2,]      5

[3,]      6

layout.show(6) #显示布局的编号

http://s6/middle/001IAGNuzy6Gz1IfFnD45&690

layout(matrix(1:6,2,3))#将当前装置分割为2行3列布局

     [,1] [,2] [,3]

[1,]        5

[2,]        6

layout.show(6)#显示布局编号

18791116

layout(matrix(c(1:3,3),2,2)) #建立矩阵,将装置分割为3部分

     [,1] [,2]

[1,]      3

[2,]      3

layout.show(3) #显示布局编号

18846683

m<-matrix(1:4,2,2);m  #建立矩阵m,2列2行

layout(m,widths=c(1,3),heights=c(3,1)) #将当时装置按照m进行划分,宽度之比为1:3,高度之比为3:1

layout.show(4)

http://s8/middle/001IAGNuzy6Gz1IpR7F47&690

m<-matrix(c(1,1,2,1),2,2);m  #建立矩阵

layout(m,widths=c(2,1),heights=c(1,2)) #按照矩阵编号进行分割,编号相同的为同一块,宽度为2:1,高度为1:2

layout.show(2)

http://s14/middle/001IAGNuzy6Gz1Is7q5ed&690

m<-matrix(0:3,2,2)#,注意,此矩阵中有0,0是不绘图的,可以查看一下效果

layout(m,c(1,3),c(1,3)) #行为1:3,列为1:3

layout.show(3)

19521684

2. 案例一:

attach(mtcars)

##no.readonly=TRUE获取的是非只读的参数,也就是可改变的图形参数,这里的作用是保存默认的参数,用于后面的参数恢复

opar<-par(no.readonly=TRUE)#保存默认设置

par(mfrow=c(2,2))#将画布分割为2*2格局

plot(wt,mpg,main="Scatterplot of wt vs. mpg")

plot(wt,disp,main="Scatterplot of wt vs disp")

hist(wt, main="Histogram of wt")

boxplot(wt,mian="Boxplot of wt")

##恢复图形参数

par(opar)

detach(mtcars)

20948656

案例二:

attach(mtcars)

opar<-par(no.readonly=TRUE)

par(mfrow=c(3,1))# 将画布分割为3行,1列格局

hist(wt)

hist(mpg)

hist(disp)

par(opar)

detach(mtcars)

21048169

案例三:

attach(mtcars)

layout(matrix(c(1,1,2,3),2,2,byrow = TRUE))

hist(wt)

hist(mpg)

hist(disp)

detach(mtcars)

21192330


来源:http://blog.sina.com.cn/s/blog_5de124240101pxvm.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有