尝试用abline绘制一条线?

时间:2017-10-31 19:27:19

标签: r ggplot2 geom-bar

ggplot(G, aes(x = State, y = Score, fill = State)) +
    geom_bar(stat = "identity", position = "identity", width = 0.5) + 
    scale_y_continuous(labels = scales::comma) + 
    coord_flip()

这是我正在使用的代码,我正在尝试在236分中添加一行,以便如何做到这一点以及如何一般地改进图表以及任何编辑或建议总是受欢迎的。

Here

2 个答案:

答案 0 :(得分:1)

只需使用:

geom_hline(yintercept = 236)

在重新排序y轴并使用fill = Score时,可能值得。它会使情节看起来像这样:

df %>% 
  ggplot(aes(reorder(State, -Assault), Assault, fill = Assault)) +
  geom_col(width = 0.75, aes(fill = Assault)) +
  labs(x = "State") +
  geom_hline(yintercept = 200, size = 1) +
  coord_flip() +
  theme_classic()

enter image description here

答案 1 :(得分:0)

您可以使用DM执行此操作。由于你有这么多酒吧,你需要在except之后应用vline,这样它就会出现在你的酒吧顶部(而不是在你几乎看不到它的地方)。

geom_vline()

我所做的就是在上面的示例中添加第三行。 geom_bar()总是让我感到困惑,特别是当你做ggplot(G, aes(x = State, y = Score, fill = State)) + geom_bar(stat = "identity", position = "identity", width = 0.5) + geom_hline(yintercept=236, color="#000000", linetype="solid") + scale_y_continuous(labels = scales::comma) + coord_flip() 之类的事情时。我想我已经把它弄错了(即使它看起来不对,因为翻转),但是如果我弄错了并且线条出来横向替换上面的第三行用这个:

ggplot2

并注意到只有两个变化,即vline变为hline,xintercept变为yintercept。