Crea boxplot raggruppati in R
-
Usa il parametro
fill
nella funzioneggplot
per creare boxplot raggruppati in R -
Usa la funzione
facet_wrap
per costruire boxplot raggruppati in R
Questo articolo dimostrerà diversi metodi su come creare boxplot raggruppati in R.
Usa il parametro fill
nella funzione ggplot
per creare boxplot raggruppati in R
La funzione ggplot
insieme a geom_boxplot
viene generalmente utilizzata per costruire oggetti boxplot. Il primo parametro della funzione ggplot
rappresenta il set di dati da utilizzare, mentre il secondo parametro specifica la lista delle mappature estetiche. La funzione aes
mappa gli argomenti x
e y
alle colonne continent
e lifeExp
dal set di dati gapminder
, filtrati inizialmente utilizzando le funzioni del pacchetto dplyr
. Quindi il parametro fill
mappa i dati della colonna year
e disegna boxplot annuali per ogni continente. I dati year
devono essere convertiti in factor
prima di assegnare il parametro fill
; in caso contrario, il grafico tracciato non influisce sul raggruppamento.
library(ggplot2)
library(gridExtra)
library(gapminder)
library(dplyr)
dat <- gapminder %>%
filter(year %in% c(1972, 1992, 2007))
p1 <- ggplot(dat, aes(x = continent, y = lifeExp, fill = year)) +
geom_boxplot() +
scale_y_continuous(name = "Average Life Expectancy") +
scale_x_discrete(labels = abbreviate, name = "Continent")
p2 <- ggplot(dat, aes(x = continent, y = lifeExp, fill = factor(year))) +
geom_boxplot() +
scale_y_continuous(name = "Average Life Expectancy") +
scale_x_discrete(labels = abbreviate, name = "Continent")
grid.arrange(p1, p2, nrow = 2)
Usa la funzione facet_wrap
per costruire boxplot raggruppati in R
La funzione facet_wrap
è un’altra opzione per disegnare più boxplot raggruppati in base al parametro specifico. In questo caso, dimostriamo il raggruppamento annuale dei grafici. Nota che facet_wrap
può funzionare senza specificare il parametro fill
, ma aiuta a distinguere diversi grafici in base ai colori come emesso utilizzando il seguente frammento di codice. Anche scale_x_discrete
e scale_y_continuous
vengono utilizzati per modificare etichette e nomi di assi.
library(ggplot2)
library(gridExtra)
library(gapminder)
library(dplyr)
dat <- gapminder %>%
filter(year %in% c(1972, 1992, 2007))
p3 <- ggplot(dat, aes(x = continent, y = lifeExp, fill = factor(year))) +
geom_boxplot() +
facet_wrap(~year) +
scale_y_continuous(name = "Average Life Expectancy") +
scale_x_discrete(labels = abbreviate, name = "Continent")
p3
facet_wrap
mostra le stesse scale in grafici diversi. Sebbene possiamo assegnare una stringa “libera” al parametro scale
, ciò si traduce in scale regolate automaticamente.
library(ggplot2)
library(gridExtra)
library(gapminder)
library(dplyr)
dat <- gapminder %>%
filter(year %in% c(1972, 1992, 2007))
p4 <- ggplot(dat, aes(x = continent, y = lifeExp, fill = factor(year))) +
geom_boxplot() +
facet_wrap(~year, scale = "free") +
scale_y_continuous(name = "Average Life Expectancy") +
scale_x_discrete(labels = abbreviate, name = "Continent")
p4
Si potrebbero anche costruire boxplot annuali dal set di dati gapminder
non filtrato. Questa volta, il parametro fill
ha mappato la colonna continent
e la funzione facet_wrap
riprende i dati year
.
library(ggplot2)
library(gridExtra)
library(gapminder)
library(dplyr)
p5 <- ggplot(gapminder, aes(x = continent, y = lifeExp, fill = continent)) +
facet_wrap(~year) +
geom_boxplot() +
scale_y_continuous(name = "Average Life Expectancy") +
scale_x_discrete(labels = abbreviate, name = "Continent")
p5
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook