R语言绘图布局
2017-12-03 15:44
295 查看
转载自博客庐州月光,感谢作者的分享
http://www.cnblogs.com/xudongliang/p/6741843.html
在R语言中,par 函数可以设置图形边距,其中oma 参数设置outer margin, mar参数设置margin,这些边距有什么不同呢,通过box函数可以直观的看到。box 默认在当前图形绘制边框,第一个参数which = “plot”, 所以在当前图形上绘制边框。
which 的值除了plot 之外,还可以选择 figure, inner, outer。接下来分别用不同的值测试一下,为了区分,为不同的边框设置不同的颜色和类型,代码如下:
可以看出,在figure区域中包含了plot区域, plot区域指的是实际绘图中的坐标系内的区域,里面是坐标系中的点,线等元素,而在figure和plot区域之间的是坐标轴的刻度,x轴和y中的标签,title等元素
在红色的边框和蓝色的边框之间的区域就是inner margin, 如果inner margin 太窄会发生什么,用一个实际的例子看一下
可以看到,坐标轴对应的标题没有了,通过mar参数设置了inner margin的宽度,由于都是1,太窄了,所以坐标轴的标题没显示出来,下次遇到类似的问题,就知道因该将inner margin 设置的大一些
mar参数的值是一个长度为4的向量,分别对应下,左,上,右 4个方向的inner margin, 只需要记住第一个对应的是下,然后沿逆时针方向设置就可以了;
解决了inner margin 的问题,那么outer margin又是怎么一回事呢?在figuer区域和我们整个绘图设备之间,其实还有一个边距,这个边距就是outer margin, 只不过默认值都是0,所以看不到
接下来我们用oma参数设置outer margin 的值,将其设置的宽一点,然后再用box 标记出outer 边框和figure 边框,直观的看一下,代码如下:
图中虚线对应的就是outer边框,在outer和figure 边框之间的就是 outer margin , 通过oma参数的值来设置outer margin 的宽度,和mar类似,也是从下方开始,沿着逆时针方向进行设置。
通过上面的几个例子,我们就可以看到,在R语言中,在一个绘图设备上有3个不同的边框,最外圈为outer边框,可以看作整张纸的边沿,而中间的figure 边框才是绘制图形的地方,通过par函数的oma 参数控制figure区域的大小;
plot区域绘制的是坐标系中的元素,在plot 区域和figure边框之间的inner margin 用来放置坐标轴刻度,标题等元素,通过par 函数的mar参数可以设置其大小
http://www.cnblogs.com/xudongliang/p/6741843.html
在R语言中,par 函数可以设置图形边距,其中oma 参数设置outer margin, mar参数设置margin,这些边距有什么不同呢,通过box函数可以直观的看到。box 默认在当前图形绘制边框,第一个参数which = “plot”, 所以在当前图形上绘制边框。
which 的值除了plot 之外,还可以选择 figure, inner, outer。接下来分别用不同的值测试一下,为了区分,为不同的边框设置不同的颜色和类型,代码如下:
attach(mtcars) plot(wt, mpg) abline(lm(mpg~wt)) title("Regression of MPG on Weight") box(which = "plot", col = "red", lwd = 2) box(which = "figure",col = "blue", lwd = 4) #为了区分,plot的边框为红色, figure的边框为蓝色
可以看出,在figure区域中包含了plot区域, plot区域指的是实际绘图中的坐标系内的区域,里面是坐标系中的点,线等元素,而在figure和plot区域之间的是坐标轴的刻度,x轴和y中的标签,title等元素
在红色的边框和蓝色的边框之间的区域就是inner margin, 如果inner margin 太窄会发生什么,用一个实际的例子看一下
par(oma=c(1,1,1,1), mar=c(2,2,2,2)) attach(mtcars) plot(wt, mpg) abline(lm(mpg~wt)) title("Regression of MPG on Weight") box(which = "plot", col = "red", lwd = 2) box(which = "figure",col = "blue", lwd = 4)
可以看到,坐标轴对应的标题没有了,通过mar参数设置了inner margin的宽度,由于都是1,太窄了,所以坐标轴的标题没显示出来,下次遇到类似的问题,就知道因该将inner margin 设置的大一些
mar参数的值是一个长度为4的向量,分别对应下,左,上,右 4个方向的inner margin, 只需要记住第一个对应的是下,然后沿逆时针方向设置就可以了;
解决了inner margin 的问题,那么outer margin又是怎么一回事呢?在figuer区域和我们整个绘图设备之间,其实还有一个边距,这个边距就是outer margin, 只不过默认值都是0,所以看不到
接下来我们用oma参数设置outer margin 的值,将其设置的宽一点,然后再用box 标记出outer 边框和figure 边框,直观的看一下,代码如下:
par(oma=c(2,2,2,2)) attach(mtcars) plot(wt, mpg) abline(lm(mpg~wt)) title("Regression of MPG on Weight") box(which = "plot", col = "red", lwd = 2) box(which = "figure",col = "blue", lwd = 4) box(which = "outer", col = "black", lty = 8)
图中虚线对应的就是outer边框,在outer和figure 边框之间的就是 outer margin , 通过oma参数的值来设置outer margin 的宽度,和mar类似,也是从下方开始,沿着逆时针方向进行设置。
通过上面的几个例子,我们就可以看到,在R语言中,在一个绘图设备上有3个不同的边框,最外圈为outer边框,可以看作整张纸的边沿,而中间的figure 边框才是绘制图形的地方,通过par函数的oma 参数控制figure区域的大小;
plot区域绘制的是坐标系中的元素,在plot 区域和figure边框之间的inner margin 用来放置坐标轴刻度,标题等元素,通过par 函数的mar参数可以设置其大小
调整参数 | 区域 | 边框参数 |
---|---|---|
mar/mai | plot | 无 |
oma/omi | figure | inner |
无 | device | outer |
相关文章推荐
- R语言绘图布局
- R语言之数据可视化 - R的绘图系统2 - 基本绘图系统
- R语言学习笔记之绘图篇
- R语言绘图渐进
- R语言绘图002-页面布局
- R语言----绘图学习笔记之Scatter plots
- UIView的layout(布局)与draw(绘图)
- R语言第三章 统计绘图表示第一节
- R语言低级绘图函数-grid
- R语言: 去掉某些高级绘图函数已经包含了默认的标题和标签
- R语言hist绘图函数
- R语言ggplot2绘图设置X轴刻度,字体大小及绘图区大小
- R语言putty中直接使用X11(Xming)绘图
- R语言:ggplot2精细化绘图——以实用商业化图表绘图为例(转)
- R语言中的高级绘图
- R语言绘图函数汇总
- 关于统计学中q-q图为什么正态分布是一条直线(R语言绘图说明)
- graphviz 的绘图布局
- 慕课—R语言之数据可视化—学习笔记 3.6ggplot2绘图系统
- R语言绘图时的边界碰撞问题