Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
修改边距,使多个绘图在R中具有相同的大小_R_Plot - Fatal编程技术网

修改边距,使多个绘图在R中具有相同的大小

修改边距,使多个绘图在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

我想在一个带有标题和一个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='')