虽然有一些主题在同一个方向上进行,但我没有找到任何可以解决我的问题的具体方法.因此,一个新的主题,并提前感谢所有的帮助.
情况
我有两个图,需要横向放在一个图中,例如:
library(ggplot2)
dsamp <- diamonds[sample(nrow(diamonds), 1000), ]
p1 <- qplot(price, carat, data=dsamp, colour=clarity)
p2 <- qplot(price, depth, data=dsamp, colour=clarity)
Run Code Online (Sandbox Code Playgroud)
虽然因变量每个图不同,但分组和独立性保持不变.因此,我只需要图中的一个图例来描述这些组.
我尝试了什么,什么不起作用
我试图使用R Cookbook中描述的解决方案.multiplot()该页面上给出的自定义函数使得图表没有图例就可以了.但是,如果只需要一个图例,则该功能失败.由于其中一个图形将包含图例,而另一个图形不包含图形,因此两个图形的宽度相互之间会有所不同(请从提到的链接中复制多色函数):
multiplot(p1 + theme(legend.position = "none"),p2,cols=2)
Run Code Online (Sandbox Code Playgroud)
我发现的另一个可能的解决方案是包gridExtra,使用此代码示例.除了图表是垂直排列外,它几乎可以满足我的需要.我尝试使用函数参数,但无法想象如何水平排列图.希望有人对该包/问题有更多的经验.谢谢!