Come creare un istogramma con colori diversi in r


Spesso potresti voler creare un istogramma con diversi colori in R.

Gli esempi seguenti mostrano come eseguire questa operazione in base R e ggplot2 .

Esempio 1: istogramma con colori diversi in base R

Il codice seguente mostra come creare un istogramma con un singolo colore in base 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)

Per impostazione predefinita, tutti i colori delle barre sono uguali nell’istogramma.

Tuttavia, possiamo utilizzare il seguente codice per creare un istogramma con tre colori diversi:

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

istogramma con colori diversi in R

Ecco come ha funzionato la logica per creare i tre colori:

  • Per prima cosa abbiamo specificato che ogni barra fosse rossa .
  • Poi abbiamo cambiato ogni barra con un punto di interruzione inferiore a 20 in blu .
  • Poi abbiamo cambiato ogni barra con un punto di interruzione inferiore a 16 in viola .

Il risultato finale è un istogramma a tre colori.

Esempio 2: istogramma con colori diversi in ggplot2

Supponiamo di avere il seguente frame di dati in 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

Per creare un istogramma con colori diversi per questo frame di dati, dobbiamo prima creare una variabile di raggruppamento per i valori utilizzando un’istruzione if else nidificata :

 #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

Ora possiamo creare un istogramma in ggplot2 e impostare i colori nel grafico utilizzando la variabile group:

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

Il risultato finale è un istogramma a tre colori.

Nota : puoi trovare la documentazione completa per scale_fill_manual() qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in R:

Come creare un istogramma di frequenza relativo in R
Come sovrapporre una curva normale su un istogramma in R
Come specificare le interruzioni dell’istogramma in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *