chr*_*ler 11 graphics plot r spacing
我试图以3x2布局将6个数字输出到一个图像中.我想在顶行和底行两行之间留出额外的空间.这可能使用R吗?我查看了par和plot的文档,似乎无法找到合适的选项.
这是一些示例代码:
a = rnorm(100,100,10)
b = rnorm(100,100,10)
par(mfrow=c(3,2), oma=c(1,1,1,1), mar=c(2,2,2,2))
hist(a)
hist(b)
plot(a,b)
plot(a,b)
plot(a,b)
plot(a,b)
Run Code Online (Sandbox Code Playgroud)
这是代码输出的内容:

这是我想要输出的内容(我在外部编辑器中修改了这个图像).请注意顶行和底行之间的额外空间.

这个layout()功能是你的朋友.例如,您可以定义绘图矩阵
1 2
3 4
5 6
7 8
Run Code Online (Sandbox Code Playgroud)
然后把空图放入第三和第四.或者只是坚持到6并呼叫par在底部添加额外的间距.
我可以想到三种方式:
1)使用mar图形参数设置绘图边距
您可以使用检索当前边距
currmar <- par()$mar
Run Code Online (Sandbox Code Playgroud)
您可以使用设置新的边距
par("mar"=c(5, 4, 4, 2))
Run Code Online (Sandbox Code Playgroud)
数字为底部,左侧,顶部和右侧边距(请参阅?par)
您可以par为每个绘图进行多次调用,因此您只能为顶部绘图更改底部边距.
2)使用布局生成不均匀的布局网格(参见?layout示例)
3)将图表保存在.svg或.pdf中,然后使用Inkscape(或任何您喜欢的软件)移动图表.