首页 > 解决方案 > 如何使用 facet_grid 和文本位置更改直方图的颜色?

问题描述

如何更改使用 facet_grid 制作的两个直方图的颜色?我想要绿色的“活动”直方图和红色的“失败”直方图。

而且,我怎样才能改变该行文本的位置以使其更向下一点?

这是我的代码:

df %>%
  ggplot(aes(x = `Banks/turnover%Last avail. yr`)) +
  geom_histogram(
      bins = nclass.Sturges(`Banks/turnover%Last avail. yr`),colour = "black")+
  geom_vline(data = status_means, aes(xintercept = avg),  color="red", linetype="dashed")+
  geom_text(data = status_means , aes(x = avg, label = avg), y= Inf )+
  theme(legend.position="None")+
  facet_grid(~general_status)

在此处输入图像描述

标签: rggplot2facet-grid

解决方案


您需要为fill参数添加一个因子。在这里,我只是使用active-failed,因为我不确定您的数据是如何区分的。

ggplot(df_all,
       aes(x = `Banks/turnover%Last avail. yr`, fill = as.factor(active-failed)))

然后,您可以添加一行来定义颜色:

scale_fill_manual(values = c("green", "red"))

正如@teunbrand 所说,您可以使用vjust来移动文本,使其不会被截断。

请记住给出一个很好的可重现示例,通过 提供一些数据会很有帮助dput(head(df))


推荐阅读