道歉,如果这个问题已经得到解答,但我似乎无法找到我需要的东西。
我在ggplot2中制作了两个图,我使用grid.arrange将它组合到同一个网格中,如下所示:
grid.arrange(p1,p2,main="Title", ncol=2)
这样可以并排给我这些情节:
(抱歉,我不明白如何让这个在帖子中显示我的形象,如果你有人可以帮助我作为一个旁边那将是伟大的!我不想通过使用链接惹恼他们。 )
如何更改此代码以使图形仍然并排,但它们不会在对象的整个长度上拉长?我希望他们是正方形。
我知道我可以添加一个参数“高度”,但不确定这是否是我需要的,并且在这种情况下没有看到任何应用它。
谢谢!
答案 0 :(得分:7)
您还可以使用grid.arrange的heights
和widths
参数指定相对高度和宽度,如下所示:
grid.arrange(p1 , p2 , widths = unit(0.5, "npc") , heights=unit(0.5, "npc") , main="Title", ncol=2)
答案 1 :(得分:4)
当您使用ggplot2制作绘图时,一种方法是使用coord_fixed()
获取二次曲线然后排列它们。您可以使用coord_fixed()
来实现此目标,其中ratio=
的计算方法是将y
值的范围除以x
值的范围。
ratio.plot1<-abs(max(iris$Petal.Width)-min(iris$Petal.Width))/abs(max(iris$Petal.Length)-min(iris$Petal.Length))
ratio.plot2<-abs(max(iris$Sepal.Width)-min(iris$Sepal.Width))/abs(max(iris$Sepal.Length)-min(iris$Sepal.Length))
p1<-ggplot(iris,aes(Petal.Width,Petal.Length))+geom_point()+
coord_fixed(ratio=ratio.plot1)
p2<-ggplot(iris,aes(Sepal.Width,Sepal.Length))+geom_point()+
coord_fixed(ratio=ratio.plot2)
grid.arrange(p1,p2,main="Title",ncol=2)