R 移除或合并收割台并在ggplot2中调整距离?

R 移除或合并收割台并在ggplot2中调整距离?,r,ggplot2,facet-grid,R,Ggplot2,Facet Grid,我想对ggplot2绘图进行一些编辑,但我被卡住了 对于标题,我想组合“物质”标签(也就是“酒精”、“香烟”等的一个标题),然后我完全删除顶部的0和1,因为它们已经通过图例标记,因此是多余的 我还想将相同形状的标记稍微靠近一点(也就是说,每个三角形应该更靠近另一个三角形,圆圈也是如此)。这样就更容易知道它们应该被组合在一起 最后,我想删除“颜色”下的图例标记,并使“同期”一词的颜色为灰色,以与图形相对应。这样,它们就不会与形状图例指示器混淆 我尝试了strip.text.x=element\u

我想对ggplot2绘图进行一些编辑,但我被卡住了

对于标题,我想组合“物质”标签(也就是“酒精”、“香烟”等的一个标题),然后我完全删除顶部的0和1,因为它们已经通过图例标记,因此是多余的

我还想将相同形状的标记稍微靠近一点(也就是说,每个三角形应该更靠近另一个三角形,圆圈也是如此)。这样就更容易知道它们应该被组合在一起

最后,我想删除“颜色”下的图例标记,并使“同期”一词的颜色为灰色,以与图形相对应。这样,它们就不会与形状图例指示器混淆

我尝试了
strip.text.x=element\u blank()
和其他一些方法,但不断出现错误。谢谢大家!

以下是我创建的图:

这是我的代码:

ggplot(data = gfrdata, 
       aes(x = factor(model_cont0_lag1), 
           y = est, 
           ymin = lcl, 
           ymax = ucl, 
           color = model_cont0_lag1, 
           shape = model_year0_curr1)) + 
  geom_pointrange(size = 0.8) +
  ylim(-24, 20) +
  scale_color_manual(values = c(Contemporaneous = "gray60", Lagged = "gray0")) +
  labs(color = 'Color', shape = 'Shape', x = ' ', y = 'Percent Difference (95% CI)') +
  geom_errorbar(aes(ymin = lcl, ymax = ucl), width = 0.45, cex = 1) + 
  facet_grid(.~substance+model_year0_curr1, scale = 'free', space = 'free') +
  geom_hline(yintercept = 0, linetype = 2) +
  theme_classic() +
  theme(panel.spacing=unit(0,"lines"),
        axis.text.x = element_blank(), axis.ticks.x = element_blank(),
        strip.background = element_blank(),
        legend.position = "right", legend.direction = "vertical",
        legend.text = element_text(color = "black"), 
        legend.title = element_text(face = "bold"))```

也许这就是你想要的:

  • 为了只为面获取一个标签,我仅通过
    substance
    方法面,然后切换到
    facet\u wrap
  • 为了获得正确的点范围顺序,我在
    x
    上映射
    model\u year0\u curr1
    ,并在
    geom\u点范围
    geom\u错误栏
    中使用
    position\u dodge
  • 使用
    position\u dodge
    可以设置宽度,以减小
    三角形
  • 为了获得正确的图例标签颜色,我使用了
    ggtext::element\u markdown
    ,它允许使用一些CSS合成图例标签
  • 使用一些随机示例数据,尝试以下操作:

    库(ggplot2)
    图书馆(ggtext)
    种子(42)
    
    y欢迎来到SO。请让你的问题重现。请参阅此处的更多信息Hi OP-您可以共享您的数据和所有绘图代码吗?看起来我们缺少了
    ggplot(…)
    部分和对数据帧的引用。共享数据框时,请在R控制台中键入
    dput(您的数据框)
    ,然后在问题正文中复制/粘贴该函数的输出(格式为代码),以进行共享。输出应该是以
    结构(…
    开头的代码。