Hoe maak je een histogram met verschillende kleuren in r


Vaak wilt u misschien een histogram maken met verschillende kleuren in R.

De volgende voorbeelden laten zien hoe u dit kunt doen in base R en ggplot2 .

Voorbeeld 1: histogram met verschillende kleuren in basis R

De volgende code laat zien hoe u een histogram maakt met één kleur in basis 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)

Standaard zijn alle staafkleuren hetzelfde in het histogram.

We kunnen echter de volgende code gebruiken om een histogram met drie verschillende kleuren te maken:

 #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 met verschillende kleuren in R

Hier ziet u hoe de logica werkte om de drie kleuren te creëren:

  • Eerst specificeerden we dat elke balk rood was.
  • Vervolgens hebben we elke balk met een breekpunt kleiner dan 20 gewijzigd in blauw .
  • Vervolgens hebben we elke balk met een breekpunt van minder dan 16 gewijzigd in paars .

Het eindresultaat is een driekleurenhistogram.

Voorbeeld 2: Histogram met verschillende kleuren in ggplot2

Stel dat we het volgende dataframe in R hebben:

 #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

Om een histogram met verschillende kleuren voor dit dataframe te maken, moeten we eerst een groeperingsvariabele voor de waarden maken met behulp van een geneste if else-instructie :

 #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

We kunnen nu een histogram maken in ggplot2 en de kleuren in de plot instellen met behulp van de groepsvariabele:

 #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 '))

Het eindresultaat is een driekleurenhistogram.

Opmerking : u kunt de volledige documentatie voor scale_fill_manual() hier vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in R kunt uitvoeren:

Hoe maak je een relatief frequentiehistogram in R
Hoe u een normale curve op een histogram in R kunt leggen
Histogramonderbrekingen opgeven in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert