修改边距,使多个绘图在R中具有相同的大小
我想在一个带有标题和一个x标签的图形中绘制三个绘图,但是当我修改边距以包含这些标签时,绘图的大小会有所不同 这就是我所尝试的:修改边距,使多个绘图在R中具有相同的大小,r,plot,R,Plot,我想在一个带有标题和一个x标签的图形中绘制三个绘图,但是当我修改边距以包含这些标签时,绘图的大小会有所不同 这就是我所尝试的: par(mfrow=c(3,1), mar=c(1.5,5,3,2) + 0.1) plot(1:10, xaxt='n', main = "Some title") par(mar=c(1.5,5,0,2) + 0.1) plot(1:10, xaxt='n') par(mar=c(5,5,0,2) + 0.1) plot(1:10, xlab = "Some x
par(mfrow=c(3,1), mar=c(1.5,5,3,2) + 0.1)
plot(1:10, xaxt='n', main = "Some title")
par(mar=c(1.5,5,0,2) + 0.1)
plot(1:10, xaxt='n')
par(mar=c(5,5,0,2) + 0.1)
plot(1:10, xlab = "Some x label")
图中是这样的:
如您所见,第二个绘图的大小不同。我想要的是所有的最终尺寸都一样
任何帮助都将不胜感激 这对于基本图形来说不是非常容易做到的。问题在于,
mfrow
将拆分设备拆分为三行时,第一个绘图的标题和最后一个占用空间的x轴标签分别位于各自的行中。使用晶格或ggplot会更简单。要使用这些函数,通常需要在开始之前将所有数据放在单个data.frame中。例如,使用此测试数据集
dd<-data.frame(x=rep(1:10,3),y=rep(1:10,3), group=rep(1:3, each=10))
或格子
library(lattice)
xyplot(y~x|factor(group), dd, layout=c(1,3),
main="Some Title", xlab="Some X label")
您可以使用布局功能。要绘制上面的图,请为5个图做一个布局:顶部的窄图将用作标题的空间,然后是3个散点图,第五个窄图用于底部的x标签 利润率,例如:
par(mar=c(0.5,6,0.5,2)+0.1)
制作一个指定打印布局的矩阵:
matThank你,看起来不错。我还是不想知道是否有人知道如何使用基本图。只是遇到了这个问题。。。事实证明,这与不久之后得出的结论非常相似,但有一些不同的答案。我一直使用
par(mar=c(0,0,0,0),oma=c(5.1,4.1,4.1,2.1))
!
par(mar=c(0.5,6,0.5,2)+0.1)
layout(mat, widths=1, heights= c(0.5, 3, 3, 3, 1.5))
plot(0, xaxt='n', yaxt='n', bty='n', pch='', ylab='', xlab='')
plot(1:10, xaxt='n')
mtext("Some title", 1, padj=-15)
plot(1:10, xaxt='n')
mtext("Some ylabel", 2, padj=-5)
plot(1:10)
mtext("Some x label", padj=20)
plot(0, xaxt='n', yaxt='n', bty='n', pch='', ylab='', xlab='')