【问题标题】:R ggplot remove x ticks/titles without removing the space left for themR ggplot 删除 x 刻度/标题而不删除留给它们的空间
【发布时间】:2018-12-08 07:03:25
【问题描述】:

在 ggplot 中,通常情况下我想使用 grid.arrange()arrangeGrob() 创建一个多图,其中轴标签是多余的。以下图为例:

data = data.frame(x=1:50, y=50:1)
p1=ggplot(data, aes(x=x, y=y)) + geom_line() + xlab("Dimension") + ylab("Magnitude")
p2=ggplot(data, aes(x=x, y=-y)) + geom_line() + xlab("Dimension") + ylab("Magnitude")
grid.arrange(p1, p2, nrow=1)

很明显,标签“维度”和“幅度”在最右边的图上是多余的。

我知道我可以轻松删除刻度、标签和标题:

p2=p2 +
    theme(axis.title.x=element_blank(),
          axis.text.x=element_blank(),
          axis.ticks.x=element_blank(),
          axis.title.y=element_blank(),
          axis.text.y=element_blank(),
          axis.ticks.y=element_blank())
grid.arrange(p1, p2, nrow=1)

但这让我在第二个数字上的边缘被压碎了。我知道我可以通过scale_x_continuousscale_y_continuous 手动执行此操作,而不是像我通过theme() 那样用空白替换它们,我可以手动将所有内容设置为"",但这很耗时而且需要像element_blank() 这样的自动化程度较低的方法。

是否有类似的简单方法可以删除标签,而不会破坏它们之前占用的空间?像 element blank 这样没有“不分配空间”方面的东西。

【问题讨论】:

    标签: r ggplot2 axis axis-labels axes


    【解决方案1】:

    像这样?

    #devtools::install_github("thomasp85/patchwork")
    library(patchwork)
    p1 + p2
    

    不要问我魔法是如何运作的。您可以在此处阅读有关该功能的更多信息:github.com/thomasp85/patchwork

    【讨论】:

      猜你喜欢
      • 2018-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      相关资源
      最近更新 更多