Как создать гистограмму разных цветов в r


Часто вам может потребоваться создать гистограмму с несколькими разными цветами в R.

Следующие примеры показывают, как это сделать в базе R и ggplot2 .

Пример 1: гистограмма с разными цветами в базе R

Следующий код показывает, как создать гистограмму с одним цветом в базе 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)

По умолчанию все цвета столбцов на гистограмме одинаковы.

Однако мы можем использовать следующий код для создания гистограммы трех разных цветов:

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

гистограмма с разными цветами в R

Вот как работала логика для создания трех цветов:

  • Сначала мы указали, что каждая полоса должна быть красной .
  • Затем мы изменили каждый столбец с точкой останова менее 20 на синий .
  • Затем мы изменили цвет каждого столбца с точкой останова менее 16 на фиолетовый .

Конечным результатом является трехцветная гистограмма.

Пример 2: гистограмма разных цветов в ggplot2.

Предположим, у нас есть следующий кадр данных в 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

Чтобы создать гистограмму разных цветов для этого фрейма данных, нам сначала нужно создать переменную группировки для значений, используя вложенный оператор 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

Теперь мы можем создать гистограмму в ggplot2 и установить цвета на графике, используя групповую переменную:

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

Конечным результатом является трехцветная гистограмма.

Примечание . Полную документацию по Scale_fill_manual() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в R:

Как создать гистограмму относительной частоты в R
Как наложить нормальную кривую на гистограмму в R
Как указать разрывы гистограммы в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *