Como criar um histograma com cores diferentes em r


Muitas vezes você pode querer criar um histograma com diversas cores diferentes em R.

Os exemplos a seguir mostram como fazer isso em base R e ggplot2 .

Exemplo 1: histograma com cores diferentes na base R

O código a seguir mostra como criar um histograma com uma única cor na 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)

Por padrão, todas as cores das barras são iguais no histograma.

Entretanto, podemos usar o seguinte código para criar um histograma com três cores diferentes:

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

histograma com cores diferentes em R

Veja como funcionou a lógica para criar as três cores:

  • Primeiro, especificamos que cada barra era vermelha .
  • Em seguida, alteramos todas as barras com um ponto de interrupção menor que 20 para azul .
  • Em seguida, alteramos todas as barras com um ponto de interrupção menor que 16 para roxo .

O resultado final é um histograma de três cores.

Exemplo 2: Histograma com cores diferentes no ggplot2

Suponha que temos o seguinte quadro de dados em 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

Para criar um histograma com cores diferentes para este quadro de dados, primeiro precisamos criar uma variável de agrupamento para os valores usando uma instrução if else aninhada :

 #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

Agora podemos criar um histograma em ggplot2 e definir as cores no gráfico usando a variável de grupo:

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

O resultado final é um histograma de três cores.

Nota : Você pode encontrar a documentação completa para scale_fill_manual() aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em R:

Como criar um histograma de frequência relativa em R
Como sobrepor uma curva normal em um histograma em R
Como especificar quebras de histograma em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *