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