Jak mohu třídit mé y výsledek při použití geom_col()?

0

Otázka

Mám dva pozemky:

1.

ggplot() + geom_col(data = descritivasseries,
                    aes(x = streaming, y = media_IMDB),
                    fill = "seagreen1") + 
  coord_cartesian(ylim = c(6.85, 7.20)) +
  labs(title = "Avaliação das Séries",
       x = "", y = "Média das Notas IMDb")
ggplot() + geom_col(data = descritivasfilmes,
                    aes(x = streaming, y = media_IMDB),
                    fill  = "deepskyblue") +
  labs(title = "Avaliação dos Filmes", x = "", y = "Média das Notas IMDb") +
  coord_cartesian(ylim = c(5.85, 6.6))

První z nich vypadá takto:

enter image description here

A druhá vypadá takto:

enter image description here

Rád bych oba jejich y výsledky, které mají být uspořádány ve vzestupném pořadí. Jak bych to udělal?

data-visualization geom-col ggplot2 plot
2021-11-18 20:47:32
2

Nejlepší odpověď

1

Můžete změnit pořadí faktorů v rámci ggplot() pomocí příkazu fct_reorder() z forcats balíček.

library(ggplot2)
library(forcats)

df <- data.frame(
  streaming = c("Disney", "Hulu", "Netflix", "Prime Video"), 
  score = c(4, 2, 3, 1)
)

# no forcats::fct_reorder()
ggplot(df, aes(x = streaming, y = score)) +
         geom_col()

# with forcats::fct_reorder()
ggplot(df, aes(x = forcats::fct_reorder(streaming, score), y = score)) +
         geom_col()

Vytvořen na 2021-11-18 do reprex balíček (v2.0.1)

Obrátit pořadí, spustit

ggplot(df, aes(x = forcats::fct_reorder(streaming, desc(score)), y = score)) +
         geom_col()
2021-11-18 21:16:20

Díky!!! Fungovalo to perfektně! Jen ze zvědavosti teď, co když jsem to chtěl v sestupném pořadí?
Marina Bonatti

Pro sestupně, jednoduše zabalit vaše proměnné y (score), v desc(): ggplot(df, aes(x = forcats::fct_reorder(streaming, desc(score)), y = score)) + geom_col()
Michael Dumelle
1

Ggplot používá faktor, aby mohla rozhodnout o pořadí sloupců. Budete muset změnit pořadí faktor. Můžete změnit pořadí faktoru (v tomto případě "streaming") podle jiného (číselné) proměnné ve vzestupném nebo sestupném pořadí. Ti nechtěla poskytnout celý soubor dat, tak pro ilustraci jsem udělal pár údajů :

library (ggplot2)
library(dplyr)
library(forcats)

descritivasseries <- tibble(streaming = c("Hulu", "Disney", "Netflix", "Prime Video"),
                        media_IMDB = c(15, 13, 18, 10))


ggplot() + geom_col(data = descritivasseries,
                aes(x = streaming, y = media_IMDB),
                fill = "seagreen1") +
  labs(title = "Avaliação das Séries",
   x = "", y = "Média das Notas IMDb")

enter image description here

Pořadí není vzestupně. Nicméně, pokud budete používat mutovat ve spojení s fct_reorder, a pořadí "streaming" podle "media_IMDB" :

descritivasseries %>% mutate(streaming = fct_reorder(streaming, media_IMDB, .desc=FALSE))  %>%
ggplot() + geom_col(aes(x = streaming, y = media_IMDB),
                  fill = "seagreen1") +
labs(title = "Avaliação das Séries",
   x = "", y = "Média das Notas IMDb")

enter image description here

2021-11-18 21:12:26

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................