Как указать цвета в ggplot2?


ggplot2 — популярный пакет R для создания элегантных и настраиваемых визуализаций данных. Одной из наиболее распространенных задач при использовании ggplot2 является указание цветов для различных элементов графика, таких как точки, линии, столбцы и т. д. Управление цветами позволяет вам выделять закономерности в ваших данных, кодировать категориальные переменные и улучшать общую эстетику ваших графиков. К счастью, ggplot2 предоставляет множество различных способов сопоставления цветов со значениями данных и функциями графика. В этом подробном руководстве мы рассмотрим различные методы и параметры для указания цветов на графиках ggplot2.

Настройка цветовых палитр по умолчанию

ggplot2 имеет несколько встроенных цветовых палитр, которые служат в качестве палитр по умолчанию, когда явное сопоставление цветов не определено. Основной пакет ggplot2 включает такие палитры, как «tableau20», «colorbrewer», «grey» и другие. Вы можете установить глобальную цветовую палитру по умолчанию следующим образом:

“`r
ggplot2::theme_set(theme_set(theme_grey()))
“`

Это применит палитру серых тонов глобально ко всем вашим графикам. Вы также можете установить значения по умолчанию для каждого графика с помощью функций scale_color_brewer() и scale_fill_brewer().

Использование палитр Colorbrewer

Пакет colorbrewer R предоставляет множество хороших последовательных, расходящихся и качественных цветовых палитр, которые хорошо подходят для визуализации данных. Вы можете легко получить доступ к этим палитрам, передав имя палитры в scale_color_brewer() или scale_fill_brewer().

“`r
ggplot(data, aes(x, y, color = z)) +
geom_point() +
scale_color_brewer(palette = “Blues”)
“`

Некоторые часто используемые имена палитр ColorBrewer: “Blues”, “BuGn”, “YlOrRd”, “Spectral” и т. д. См. полный список палитр.

Указание цветов с помощью шестнадцатеричного кода

Для полного контроля над цветами вы можете напрямую указать шестнадцатеричные коды цветов, например “#FF0000” для красного. Передайте вектор шестнадцатеричных кодов в scale_color_manual():

“`r
ggplot(data, aes(x, y, color = z)) +
geom_point() +
scale_color_manual(values = c(“#FF0000”, “#00FF00”, “#0000FF”))
“`

Вы можете найти шестнадцатеричные коды для миллионов цветов на таких сайтах, как Color-Hex.

Сопоставление цветов со значениями данных

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

“`r
ggplot(data, aes(x, y, color = category)) +
geom_point()
“`

Или с непрерывной числовой переменной:

“`r
ggplot(data, aes(x, y, color = value)) +
geom_point() +
scale_color_gradient(low=”yellow”, high=”red”)
“`

Цветовое сопоставление будет обработано автоматически на основе типов данных.

Создание пользовательских цветовых шкал

Вы имеете полный контроль над цветовым сопоставлением, определяя пользовательские цветовые шкалы с помощью scale_color_manual() и scale_fill_manual(). С их помощью вы предоставляете вектор значений цвета, сопоставленных со значениями данных.

Например:

“`r
vals Указание цветов по имени

В R есть набор встроенных названий цветов, которые вы можете использовать, например, «red», «blue», «green». Передайте эти имена напрямую в цветовую эстетику:

“`r
ggplot(data, aes(x, y)) +
geom_point(color = «purple»)
“`

Или в шкалах:

“`r
scale_color_manual(values = c(“yellow”, “green”, “blue”))
“`

Полный список названий цветов в R можно найти, запустив colors(). Они предоставляют простой способ доступа к общим цветовым терминам.

Использование альфа-прозрачности

Вы можете добавить прозрачность цветам в ggplot2, указав значение альфа от 0 (полностью прозрачный) до 1 (полностью непрозрачный). Значение альфа 0,5 дает частичную прозрачность.

Чтобы установить прозрачность для всех элементов графика, используйте аргумент альфа:

“`r
ggplot(data, aes(x, y)) +
geom_point(alpha = 0.2)
“`

Для прозрачности, сопоставленной переменной, используйте scale_alpha():

“`r
ggplot(data, aes(x, y, alpha = z)) +
geom_point() +
scale_alpha(range = c(0.2, 1))
“`

Указание цветов заливки

В дополнение к цветам для точек, линий и т. д. вы можете управлять заливкой для столбцов, многоугольников, диаграмм ящиков и других геометрических объектов, которые есть внутренние заливки:

“`r
ggplot(data, aes(x, y, fill = category)) +
geom_bar(stat = “identity”)
“`

Все указанные выше спецификации цвета работают и для заливки, используя эстетику заливки и такие функции, как scale_fill_brewer(), scale_fill_manual() и т. д.

Управление цветами легенды

По умолчанию цветовая легенда будет отображать каждую цветовую шкалу, используемую на графике. Вы можете вручную переопределить цвета легенды, не влияя на фактические цвета графика:

“`r
scale_color_manual(
values = c(“red”, “blue”, “green”),
guide = “legend”,
labels = c(“Group 1”, “Group 2”, “Group 3”),
legend = c(“1” = “yellow”, “2” = “purple”, “3” = “orange”)
)
“`

Это сопоставляет желтый, фиолетовый и оранжевый цвета с клавишами легенды и метками.

Изменение оттенка цвета

Простой способ создать последовательность цветов — начать с одного цвета, а затем изменить его оттенок. Функция scale_color_hue() упрощает это:

“`r
ggplot(data, aes(x, y, color = z)) +
geom_point() +
scale_color_hue()
“`

По умолчанию это циклически переключает оттенки по цветовому кругу. Вы можете указать начальную и конечную позиции, а также направление:

“`r
scale_color_hue(h = c(0, 360) + c(90, 180))
“`

Палитры для дальтоников

Чтобы избежать проблем для читателей с дальтонизмом, выбирайте качественно отличающиеся цвета и избегайте чрезмерного использования комбинаций красного и зеленого. Пакеты, такие как viridis, предоставляют палитры, удобные для дальтоников:

“`r
scale_color_viridis()
“`

Существуют также инструменты для имитации дефицита цветового зрения и проверки графиков.

Заключение

ggplot2 обеспечивает огромную гибкость и контроль для сопоставления данных с цветами на ваших графиках. Объединяя различные методы спецификации цвета — такие как встроенные палитры, пользовательские шестнадцатеричные коды, сопоставление на основе данных, прозрачность и манипуляция оттенками — вы можете создавать именно те цветовые кодировки, которые необходимы для вашей конкретной визуализации данных. Ключевым моментом является привязка выбора цвета непосредственно к базовым данным и целям визуального кодирования. С практикой вы разовьете интуицию для выбора цвета, которая подчеркивает закономерности и значение.

Примеры таблиц данных

Категория Значение
A 10
B 20
C 30
Название Шестнадцатеричный код цвета
Красный #FF0000
Зеленый #00FF00
Синий #0000FF

В этой статье представлен обзор основных методов указания цветов в визуализациях данных ggplot2 в R. Она включает примеры кода, демонстрирующие различные цветовые палитры, использование шестнадцатеричных кодов, управляемое данными цветовое сопоставление, пользовательские цветовые шкалы, прозрачность и многое другое. Таблицы данных дают простые примеры категориальных и цветовых шестнадцатеричных кодов данных, которые можно использовать в примерах графиков.