2016-09-21 43 views
0

我使用grid.arrange()将两个图放在一个中。但是,其中一个图是使用facet_grid创建的,因此右侧有附加文本。因此,标尺也可不完全一致(参见下图)GGplot和gridExtra有一个绘图facet_grid - 如何完美适合尺度?

picture of labels not being perfectly on top of each other

我想要的尺度是完全的上方或下方彼此,9上方9等10的上方10。任何人都可以帮助如何实现这一目标?我应该从facet_grid中删除文本吗?如果是这样,我该怎么做?

编辑 Exampe为了说明我的问题

g1 <- ggplot() + 
    geom_point(data = neu1, aes(x = AGE, y = costs, 
           colour = Type, shape = Type), 
      size = 3)+ 
    scale_x_continuous(limits = c(-1,10), breaks = seq(0,10,1))+ 
    ylab("Costs") 

g2 <- ggplot() + 
    geom_point(data = neu1, aes(x = AGE, y = costs, 
           colour = Type, shape = Type), 
      size = 3)+ 
    scale_x_continuous(limits = c(-1,10), breaks = seq(0,10,1))+ 
    ylab("Costs")+ 
    facet_grid(Type ~.) 
grid.arrange(g1,g2, nrow = 2) 

这让下面的输出为图片中可以看出上面,在这个例子中两幅地块没有什么太大的意义,它只是一个插图。

正如您所看到的,每个数字的网格线并不重叠,例如上图中的AGE 10比右下方的曲线更靠右。再次感谢你们!

+1

'cowplot'包可能会有帮助。它具有用于轴对齐的工具。如果没有,你可以在'ggplot_build()'之后直接编辑grob。 – hrbrmstr

+0

谢谢你关于cowplot的提示。我以前没有用过它。你能解释一下关于ggplot_build()命令的更多内容吗?编辑grobs是什么意思? – rashid

+0

您能否提供一个可以用来演示不同概念的小例子? –

回答

0

您应该能够使用theme()中的“strip”参数删除facet标签。

p + theme(strip.text = element_blank(), 
    strip.background = element_blank()) 

其中p是原始帖子的facet图。

+0

嘿,非常感谢。我尝试过,确实知道我是否也可以将标签移动到另一个地方,例如,情节之上? – rashid

相关问题