Jak utworzyć histogram z różnymi kolorami w r


Często możesz chcieć utworzyć histogram z kilkoma różnymi kolorami w R.

Poniższe przykłady pokazują, jak to zrobić w podstawowym R i ggplot2 .

Przykład 1: histogram z różnymi kolorami w podstawie R

Poniższy kod pokazuje, jak utworzyć histogram z jednym kolorem w bazie R:

 #create data frame
df <- data. frame (x=c(12, 14, 14, 15, 15, 17, 19, 22, 23, 23, 24))

#create histogram
hist(df$x)

Domyślnie wszystkie kolory słupków na histogramie są takie same.

Możemy jednak użyć poniższego kodu, aby utworzyć histogram z trzema różnymi kolorami:

 #create data frame
df <- data. frame (x=c(12, 14, 14, 15, 15, 17, 19, 22, 23, 23, 24))

#define histogram break points
hist_breaks <- hist(df$x)$breaks

#define colors to use in histogram based on break points
color_list <- rep(' red ', length(hist_breaks))
color_list[hist_breaks < 20 ] <- ' blue '
color_list[hist_breaks < 16 ] <- ' purple '

#create histogram with custom colors
hist(df$x, col=color_list)

histogram z różnymi kolorami w R

Oto jak działała logika tworzenia trzech kolorów:

  • Najpierw określiliśmy, że każdy słupek jest czerwony .
  • Następnie zmieniliśmy każdy słupek z punktem przerwania mniejszym niż 20 na niebieski .
  • Następnie zmieniliśmy każdy słupek z punktem przerwania mniejszym niż 16 na fioletowy .

Efektem końcowym jest trójkolorowy histogram.

Przykład 2: Histogram z różnymi kolorami w ggplot2

Załóżmy, że mamy następującą ramkę danych w R:

 #create data frame
df <- data. frame (x=c(12, 14, 14, 15, 15, 17, 19, 22, 23, 23, 24))

#view data frame
df

    x
1 12
2 14
3 14
4 15
5 15
6 17
7 19
8 22
9 23
10 23
11 24

Aby utworzyć histogram z różnymi kolorami dla tej ramki danych, musimy najpierw utworzyć zmienną grupującą wartości za pomocą zagnieżdżonej instrukcji if else :

 #create grouping variable
df$group = ifelse(df$x < 16 , ' C ', ifelse(df$x < 20 , ' B ', ' A '))

#view updated data frame
df

    x group
1 12 C
2 14C
3 14C
4 15C
5 15C
6 17 B
7 19 B
8 22 A
9 23 A
10 23 A
11 24 A

Możemy teraz utworzyć histogram w ggplot2 i ustawić kolory na wykresie za pomocą zmiennej grupowej:

 #create histogram with custom colors
ggplot(df, aes(x, fill=group)) +
  geom_histogram(bins= 6 , color=' black ') +
   scale_fill_manual(values = c(' A ' = ' red ',
                                ' B ' = ' blue ',
                                ' C ' = ' purple '))

Efektem końcowym jest trójkolorowy histogram.

Uwaga : pełną dokumentację funkcji Scale_fill_manual() można znaleźć tutaj .

Dodatkowe zasoby

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

Jak utworzyć histogram częstotliwości względnej w R
Jak nałożyć krzywą normalną na histogram w R
Jak określić przerwy w histogramie w R

Dodaj komentarz

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