我已将所有参数固定为描述一个绘图,其中包括oma
,mar
,mgp
......我想将绘图区划分为几个单独的,大小完全相同的小绘图共享x和y标签的区域。例如这样的事情:将几个图绘制到一个绘图的空间中
我找到解决方案,以图结合但单独的轴。这里的问题的任何出发点?
我已将所有参数固定为描述一个绘图,其中包括oma
,mar
,mgp
......我想将绘图区划分为几个单独的,大小完全相同的小绘图共享x和y标签的区域。例如这样的事情:将几个图绘制到一个绘图的空间中
我找到解决方案,以图结合但单独的轴。这里的问题的任何出发点?
可以将外边距设置为足够大以容纳坐标轴和标签,然后将常规边距设置为0.使用par(mfrow
或layout
将内区域分割为所需的面板,然后不进行绘图轴和标签,并添加轴线和标签到外边:
par(oma=c(5,4,4,1)+0.1, mar=c(0,0,0,0))
layout(matrix(1:3, nrow=1))
for(i in levels(iris$Species)) {
with(iris[ iris$Species==i, ], {
plot(Sepal.Width, Sepal.Length, ann=FALSE, xaxt='n', yaxt='n',
ylim=range(iris$Sepal.Length))
axis(1, outer=TRUE)
mtext(side=3, i) }
)
}
axis(2, outer=TRUE)
但它使用点阵或GGPLOT2可能是简单的。
谢谢!这样我就拥有了基本R图的风格。我使用了''mfrow'',对于我来说设置''cex = 1.''非常重要,这样所有的距离都符合我的默认设置。 – sebschub