当您使用par(mfrow = c())函数绘制不同的绘图时,我想知道是否有一种方法可以在R中定义绘图的大小。
举一个简单的例子:
par(mfrow = c(3,1))
plot(1:2)
plot(1:2)
plot(1:2)
所有地块的大小都相同。
例如,是否可以使第三个图的大小不同? 例如,它的大小是其他情节的一半吗?
如果我使用它:
par(mfrow = c(3,1))
plot(1:2)
plot(1:2)
plot(1:2, ylim =c(0,1))
ylim轴改变但没有图的大小。
谢谢。
答案 0 :(得分:18)
试试layout
例如
layout(matrix(c(1,1,2,3,4,4), nrow = 3, ncol = 2, byrow = TRUE))
plot(1,main=1)
plot(2,main=2)
plot(3,main=3)
plot(4,main=4)
layout(matrix(c(1,1,2,1,1,2,3,4,4), nrow = 3, ncol = 3, byrow = TRUE))
plot(1,main=1)
plot(2,main=2)
plot(3,main=3)
plot(4,main=4)
给你
您也可以使用par(fig= )
例如
par(mar=c(2,2,2,1))
par(fig=c(0,7,6,10)/10)
plot(1,main=1)
par(fig=c(7,10,6,10)/10)
par(new=T)
plot(2,main=2)
par(fig=c(0,7,0,6)/10)
par(new=T)
plot(3,main=3)
par(fig=c(7,10,0,6)/10)
par(new=T)
plot(4,main=4)
给你
但我认为布局更适合使用
答案 1 :(得分:0)
另一个选择是使用ggarrange。这样做的好处是,您不仅可以在地块上使用ggarange,还可以在用ggarrange创建的“已安排”地块上使用ggarange,这使您可以轻松地首先安排例如两个较小的地块,然后与一个较大的地块一起排列。