Jak tworzyć histogramy według grup w ggplot2 (z przykładem)


Aby utworzyć histogram grupowy w ggplot2, możesz użyć następującej podstawowej składni:

 ggplot(df, aes(x=values_var, fill=group_var)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple '))

W tym konkretnym przykładzie tworzony jest wykres z trzema nakładającymi się histogramami koloru czerwonego, niebieskiego i fioletowego.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: utwórz histogram według grup w ggplot2

Załóżmy, że mamy w R następującą ramkę danych zawierającą informacje o punktach zdobytych przez koszykarzy z trzech różnych drużyn:

 #make this example reproducible
set. seeds (1)

#create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each=100),
                 points=c(rnorm(100, mean=10),
                          rnorm(100, mean=15),
                          rnorm(100, mean=20)))

#view head of data frame
head(df)

  team points
1 A 9.373546
2 A 10.183643
3 A 9.164371
4 A 11.595281
5 A 10.329508
6 A 9.179532

Za pomocą poniższego kodu możemy utworzyć histogramy przedstawiające rozkład punktów zdobytych przez każdą z trzech drużyn:

 library (ggplot2)

#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple ')) 

Trzy histogramy przedstawiają rozkład punktów zdobytych przez zawodników każdej drużyny.

Legenda po prawej stronie wykresu pokazuje, jaki kolor odpowiada danej drużynie.

Należy zauważyć, że argument koloru określa kolor konturu słupków na każdym histogramie, a argument alfa określa przezroczystość (od 0 do 1) używaną dla słupków.

Ustawiając wartość alfa na mniej niż 1, możemy zobaczyć nakładające się słupki pomiędzy histogramami.

Możesz użyć funkcji labs() , aby zmodyfikować etykiety na wykresie i wybrać motyw ggplot2 , który pasuje do Twojego stylu:

 library (ggplot2)

#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple ')) +
  labs(fill=' Team ', x=' Points Scored ', y=' Count ', title=' Points Scored by Team ') +
  theme_classic() 

Histogram ggplot2 według grup

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak utworzyć histogram częstotliwości względnej w R
Jak wykreślić wiele wykresów skrzynkowych na jednym wykresie w R
Jak wykreślić wiele linii na wykresie w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *