如何在一个图中组合4对图?

时间:2014-07-31 10:27:49

标签: r plot

提前我很抱歉,如果我打扰你,琐碎的问题。

我应该制作1个图,其中包含4个不同的相关成对图。 想要图的外观可以看作如下: enter image description here

我使用函数对()创建的每一对成对图:

pairs(cbind(AAPL,MSFT,INTC,FB,MU,IBM),main="Frequency=1 Min.",font.labels = 2, col="blue",pch=16, cex=0.8, cex.axis=1.5,las=1)
pairs(cbind(AAPL,MSFT,INTC,FB,MU,IBM),main="Frequency = 2 Min.",font.labels = 2, col="blue",pch=16, cex=0.8, cex.axis=1.5,las=1)
pairs(cbind(AAPL,MSFT,INTC,FB,MU,IBM),main="Frequency = 5 Min.",font.labels = 2, col="blue",pch=16, cex=0.8, cex.axis=1.5,las=1)
pairs(cbind(AAPL,MSFT,INTC,FB,MU,IBM),main="Frequency = 10 Min.",font.labels = 2, col="blue",pch=16, cex=0.8, cex.axis=1.5,las=1)

当我通过使用布局函数组合上面的成对图时,它不起作用(据我所知,类似的问题layout()和pairs()不能组合)。

如果有人有一种优雅的方式来组合4个不同的相关成对图,那么将非常感谢帮助。

3 个答案:

答案 0 :(得分:1)

通过使用splom()函数解决问题:[{3}}建议:

可以找到解决方案Eric Fail

答案 1 :(得分:0)

更新,12014-07-31 11:48:35Z

由于ilir pointed out below pairs以某种方式覆盖par,最有可能是出于某种原因。

@ user44037,你可以解决这个代码片段中的问题吗?复制/粘贴here。我相信可以使用splom中的lattice找到解决方案。看看?splom

 library(lattice) 
 splom(~iris[1:3]|Species, data = iris, 
      layout=c(2,2), pscales = 0,
      varnames = c("Sepal\nLength", "Sepal\nWidth", "Petal\nLength"),
      page = function(...) {
          ltext(x = seq(.6, .8, len = 4), 
                y = seq(.9, .6, len = 4), 
                lab = c("@user44037,", "can you solve your", "problem working form ", "this code snippet?"),
                cex = 1)
      })

enter image description here

初步答复,12014-07-31 11:35:33Z

只需通过Avinash directions复制/粘贴代码关注the website Quick-R即可。随意改进这个例子。

如果您提供可重复的示例,我很乐意解决您的具体问题。

# 4 figures arranged in 2 rows and 2 columns
attach(mtcars)
par(mfrow=c(2,2))
plot(wt,mpg, main="Scatterplot of wt vs. mpg")
plot(wt,disp, main="Scatterplot of wt vs disp")
hist(wt, main="Histogram of wt")
boxplot(wt, main="Boxplot of wt")

enter image description here

答案 2 :(得分:0)

这个问题的答案可能有所帮助:Create a matrix of scatterplots (pairs() equivalent) in ggplot2

您可以使用ggpairs包中的GGgalley创建对图。因为这些应该是ggplot对象,您可以使用grid.arrange包中的gridExtra来安排它们。