Попытаться нарисовать линию с аблином?

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, поэтому всегда приветствуются как это сделать и как улучшить диаграмму в целом, а также любые изменения или предложения.

Вот

2 ответа

Решение

Просто используйте:

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()

Ты можешь использовать geom_vline() сделать это. Поскольку у вас так много баров, вы захотите применить 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 всегда смущает меня по горизонтали и вертикали, особенно когда вы делаете такие вещи, как coord_flip(), Я думаю, что я правильно понял (хотя это выглядит неправильно, это из-за переворота), но если я ошибаюсь и линия выходит горизонтально, замените третью строчку выше на эту:

geom_vline(xintercept=236, color="#000000", linetype="solid") +

и обратите внимание только на два изменения: vline становится hline, а xintercept становится yintercept.

Другие вопросы по тегам