Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.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_Layout_Par - Fatal编程技术网

R 如何在单个面板中放置组合图

R 如何在单个面板中放置组合图,r,plot,layout,par,R,Plot,Layout,Par,问题是,我成功地绘制了以下图表: 通过这样写: par(mar=c(0,4,2,1)+.1) shap <- shapiro.test(as.numeric(residuals.arima))$p.value qqnorm(residuals.arima, main=c("Normal Q-Q Plot", paste("Shapiro p=", prettyNum(shap, digits = 2)))) qqline(residuals.arima) op <- par(f

问题是,我成功地绘制了以下图表:

通过这样写:

par(mar=c(0,4,2,1)+.1)

shap <- shapiro.test(as.numeric(residuals.arima))$p.value
qqnorm(residuals.arima, main=c("Normal Q-Q Plot", paste("Shapiro p=", prettyNum(shap, digits = 2))))
qqline(residuals.arima)

op <- par(fig=c(.02,.5,.5,.98), new=TRUE)
hist(residuals.arima, breaks=22, probability=T,
 col="grey", xlab="", ylab="", main="", axes=F)
lines(a,dnorm(a,mean(residuals.arima), sd(residuals.arima)), lty=1, col="darkblue", lwd=2)
box()
par(op)


我怎样才能做到这一点?

如果我理解正确,您只需执行以下操作:

par(mfrow=c(1,2))
qqplot(...)
qqline(...)

hist(...)
lines(...)
对你所追求的东西的另一种解释是,把你所有的东西都放在第二面,第一面留空(用于其他东西)。如果是这种情况,您可以使用
屏幕

figs <- rbind(c(0, 0.5, 0, 1),    # Screen1
              c(0.5, 1, 0, 1),    # Screen2
              )
colnames(figs) <- c("W", "E", "S", "N")
rownames(figs) <- c("Screen1", "Screen2")

screenIDs <- split.screen(figs)
names(screenIDs) <- rownames(figs)

screen(screenIDs["Screen1"])

# Everything that should go on the left side goes here

screen(screenIDs["Screen2"])

# The current plots you have go here

图在您的
par(op)
之后可能重复的
您可以重置
布局
,将第二个面板设置为下一个绘制的面板,然后进行绘图:
。。。;标准杆(op);布局图(t(1:2));par(制造商=1:2);绘图(rnorm(10))
它不是重复的。我不想在两个面板上拆分图形。
figs <- rbind(c(0, 0.5, 0, 1),    # Screen1
              c(0.5, 1, 0, 1),    # Screen2
              )
colnames(figs) <- c("W", "E", "S", "N")
rownames(figs) <- c("Screen1", "Screen2")

screenIDs <- split.screen(figs)
names(screenIDs) <- rownames(figs)

screen(screenIDs["Screen1"])

# Everything that should go on the left side goes here

screen(screenIDs["Screen2"])

# The current plots you have go here