R|绘图边距及布局

简介: R|绘图边距及布局

简单介绍一下如何调整绘图区域及边距区域,如何将多个图形绘制在一张图中,并根据图形的大小及特性调整一下图形分布。


一、绘图及边距区域设置

通过par参数,合理的调整绘图区大小,内边距和外边距的大小,能更好的展示图形。


简单示例如下:

#外边距 margin设置 ,下左上右 ;mai(英寸边距)
par(oma=c(3,3,3,3)) 
#内边距 margin设置   下左上右       omi(英寸边距)
par(mar=c(6,5,4,3) + 0.1) # (坐标)标题超出后,可以适当设置 
#第一个元素为坐标轴位置到坐标轴标签的距离,以文本行高为单位。第二个元素为坐标轴位置到坐标刻度标签的距离。第三个元素为坐标轴位置到实际画的坐标轴的距离,通常是0。
par(mgp=c(4,2,0.5)) #根据情况调整
plot(1:10,bty="n") #不绘制边框,方便后面展示
#绘图区展示
text(3,7,"绘图区",col="red",cex=2)
text(4,9,"微信号:趁早一点点",col="red",cex=1)
box("plot",col="red",lty="dotted")
#内边距展示
mtext("内边距",side=3,line=2,cex=2,col="green")
box("figure",lty="solid",col="green")
#外边距展示 outer=TRUE
mtext("外边距",side=1,line=1,cex=2,col="blue",outer=TRUE,adj=0)
box("outer",col="blue")

 

image.png



二、页面图形布局

绘图时候,有时候需要将绘图区切割,然后展示N(>=2)个图形,可以使用par及layout参数进行设置。


1)par 参数

简单示例:

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

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

plot(1:10);plot(1:10);boxplot(1:100)

image.png


2)layout参数

layout(mat),mat为一矩阵,mat元素的数量决定了一个output device被等分成几份,其中相同元素为一块。

mat用矩阵设置窗口的划分,矩阵的0元素表示该位置不画图,非0元素必须包括从1开始的连续的整数值,比如:1……N,按非0元素的大小设置图形的顺序。

widths用来设置窗口不同列的宽度,heights设置不同行的高度。


A:0不画图,figure1占据了左上角的一个格子,第二行的前两个格子属于figure2,figure3占满最下一行的三个格子。

layout(matrix(c(1,2,3,0,2,3,0,0,3),nr=3))  

layout.show(3)

image.png


B:按照矩阵编号进行分割,编号相同的为同一块

layout(matrix(c(1:3,3),2,2))

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


C:设置区块的宽度  高度比例

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

layout(m,widths=c(2,1),heights=c(1,2)) #,宽度为2:1,高度为1:2

layout.show(2)

image.png


D:0 不绘图,调整图形比例

m<-matrix(0:3,2,2)

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

layout.show(3)

image.png


综上:合理的调整图形绘图及边距区域,设计好图形分布,更好的显示自己的想法。待续 。。。

相关文章
|
5月前
|
前端开发
Canvas如何画一个线条,画布效果最好添加字体和线条回溯
Canvas如何画一个线条,画布效果最好添加字体和线条回溯
|
移动开发 HTML5
使用三次贝塞尔曲线绘制弧形菜单
使用三次贝塞尔曲线绘制弧形菜单
CSS3文本居中显示、圆形圆角绘制、立体阴影效果设置实例演示
CSS3文本居中显示、圆形圆角绘制、立体阴影效果设置实例演示
143 0
|
Web App开发 移动开发 前端开发
H5:画布Canvas基础知识讲解(三)之文字、阴影、颜色渐变
​上一节介绍了H5:画布Canvas基础知识讲解(二)之插入图像、像素级操作,接下来继续讲解H5:画布Canvas基础。
|
C#
WPF 绘制对齐像素的清晰显示的线条
原文:WPF 绘制对齐像素的清晰显示的线条 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:http://blog.csdn.net/wpwalter/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
1156 0
|
图形学
控件渐变色的实现
控件渐变色的实现(一)—— CAGradientLayer实现控件渐变色的实现(二)—— Core Graphics实现
792 0
|
C# 前端开发
[原译]WPF绘制圆角多边形
原文:[原译]WPF绘制圆角多边形 介绍 最近,我发现我需要个圆角多边形。而且是需要在运行时从用户界面来绘制。WPF有多边形。但是不支持圆角。我搜索了一下。也没找到可行的现成例子。于是就自己做吧。本文描述了圆角多边形的实现,也包括如何用在你的项目里。
1607 0