具有共同y轴缩放比例和共享x轴标签的R多幅图

时间:2019-09-20 12:28:55

标签: r ggplot2

这是我的第一个问题。请对(R-)新手好:)

我正在尝试从不同的数据帧安排多个图,以使它们共享一个共同的y轴,而x轴标签/数字仅显示在底部图下方。

我的数据框包括以下几列: 测量时间( messzeitpunkt_s ),平均值( z_mean ),置信区间的上限( z_ci_up ),置信区间的下限(< em> z_ci_low )。

这是我尝试过的:

  1. 我创建了要叠加的图:

`

p_neutral <- ggplot(neutral_all_mean_ci, aes(messzeitpunkt_s, z_mean, colour = " Mittelwert ")) +
  theme_bw()+
  geom_ribbon(aes(messzeitpunkt_s, ymax = z_ci_up, ymin = z_ci_low), fill = "#FCE5D7", alpha=0.8) +
  labs(x = "Messzeit [s]",y = "Neutral")+
  geom_line() +
  geom_line(aes(y = z_ci_low, colour =" 95% CI ")) +
  geom_line(aes(y = z_ci_up, colour = " 95% CI ")) +
  theme(legend.position = "none") +
  scale_color_manual(values=c("#F7B383", "#3074B3", "#F7B383"))

`

我使用相同的代码创建情节 p_anger,p_disgust,p_fear,p_happiness,p_sadness,p_surprise ,只是替换了ggplot中的数据框 neutral_all_mean_ci - anger_all_mean_ci 等功能,并更改相应的标签。

  1. 当我使用 ggarrage()将它们堆叠在另一个容器上时:

ggarrange(p_neutral, p_anger, p_disgust, p_fear, p_happiness, p_sadness, p_surprise, ncol=1)

我最终得到了这个plot

现在,我希望有一个共同的y轴比例尺(以便使图显示相同的范围),而x轴标签/数字仅在底部图。

有人可以帮我吗?预先感谢!

1 个答案:

答案 0 :(得分:0)

欢迎使用StackOverflow!

我认为您可以在所有图中使用scale_y_continuous(limits = c(-0.5, 1.5)),而只能在最后labs(x="Messzeit [s]")中使用geom_line(),如下所示:

p_neutral <- ggplot(neutral_all_mean_ci, aes(messzeitpunkt_s, z_mean, colour = " Mittelwert ")) +
  theme_bw()+
  geom_ribbon(aes(messzeitpunkt_s, ymax = z_ci_up, ymin = z_ci_low), fill = "#FCE5D7", alpha=0.8) + scale_y_continuous(limits = c(-0.5, 1.5)) +
  labs(x = "",y = "Neutral")+ scale_y_continuous(limits = c(-0.5, 1.5)) +
  geom_line() + labs(x="") +
  geom_line(aes(y = z_ci_low, colour =" 95% CI ")) + scale_y_continuous(limits = c(-0.5, 1.5)) + labs(x="") +
  geom_line(aes(y = z_ci_up, colour = " 95% CI ")) + scale_y_continuous(limits = c(-0.5, 1.5)) + labs(x="Messzeit [s]") +
  theme(legend.position = "none") + 
  scale_color_manual(values=c("#F7B383", "#3074B3", "#F7B383"))

让我知道这是否对您有帮助,因为如果没有您的数据集,我将无法运行它。

相关问题