Как отсортировать гистограмму в R - PullRequest
0 голосов
/ 08 мая 2020

Я борюсь с порядком гистограммы пакета mpg, я хочу построить переменную cty против manufacturer, я пробовал с reorder() и с fct_reorder(), но у меня все еще есть то же самое График, это то, что я пробовал:

mpg <- ggplot2::mpg
#With fct_reorder
ggplot(mpg, aes(fct_reorder(manufacturer, cty), cty)) +
  geom_col() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))
#with reorder

ggplot(mpg,aes(x = reorder(manufacturer, -cty), y = cty)) +
  geom_col() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Я получил график, но он все еще не упорядочен по значениям cty, что я делаю не так?

Спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 08 мая 2020

позволяет упростить предлагаемое решение

ggplot(mpg,aes(x = reorder(manufacturer, -cty, sum), y = cty)) +
  geom_col() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))
1 голос
/ 08 мая 2020

Данные, которые вы передаете, агрегированы не полностью, как вам хотелось бы. Это работает:

library(dplyr)
library(ggplot2)

mpg %>% 
    group_by(manufacturer) %>% 
    summarise(cty = sum(cty)) %>% 
    ggplot(aes(x = reorder(manufacturer, -cty), y = cty)) +
    geom_col() +
    theme(axis.text.x = element_text(angle = 45, hjust = 1))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...