Matplotlib: Полное руководство по изменению цветовой схемы по умолчанию для Python-визуализаций

Matplotlib – мощная библиотека Python для визуализации данных. Гибкость настройки делает её незаменимым инструментом для аналитиков, исследователей и разработчиков. Одним из ключевых аспектов создания эффективных визуализаций является выбор подходящей цветовой схемы. В этой статье мы подробно рассмотрим, как изменить цветовую схему по умолчанию в Matplotlib, чтобы ваши графики выглядели профессионально и соответствовали вашим потребностям.

Основы работы с цветовыми схемами в Matplotlib

Что такое цветовые схемы и зачем их менять?

Цветовая схема (colormap) – это набор цветов, используемых для представления данных в графической форме. Выбор правильной цветовой схемы важен для:

  • Улучшения восприятия данных: Подходящая цветовая схема может выделить важные закономерности и тренды.

  • Повышения эстетики: График с гармоничной цветовой палитрой выглядит привлекательнее.

  • Обеспечения доступности: Некоторые цветовые схемы лучше подходят для людей с нарушениями цветового зрения.

  • Соответствия корпоративному стилю: Использование определенных цветов может быть требованием брендбука.

Обзор стандартных цветовых схем Matplotlib (viridis, plasma, cividis и другие)

Matplotlib предлагает широкий выбор встроенных цветовых схем, таких как:

  • viridis: Считается схемой по умолчанию, плавно переходит между цветами.

  • plasma: Яркая схема, хорошо подходит для отображения диапазонов.

  • cividis: Разработана с учетом особенностей цветового восприятия, обеспечивает хорошую различимость цветов.

  • magma: Визуально привлекательна, подходит для отображения интенсивности.

  • Greys: Шкала оттенков серого, полезна для черно-белой печати или визуализаций.

Полный список доступных цветовых схем можно найти в документации Matplotlib.

Изменение цветовой схемы по умолчанию через rcParams

Как найти и отредактировать файл matplotlibrc

Файл matplotlibrc содержит глобальные настройки Matplotlib. Чтобы найти его местоположение, выполните следующий код Python:

import matplotlib
print(matplotlib.matplotlib_fname())

Отредактируйте этот файл текстовым редактором. Внимание: Изменение этого файла повлияет на все ваши графики Matplotlib.

Установка глобальной цветовой схемы с помощью rcParams: примеры кода

Чтобы изменить цветовую схему по умолчанию, найдите строку, содержащую image.cmap и измените её значение на желаемую цветовую схему. Например, для установки plasma:

image.cmap: plasma
Реклама

Кроме того, изменение можно внести программно, используя rcParams:

import matplotlib.pyplot as plt
plt.rcParams['image.cmap'] = 'plasma'

# Пример графика
import numpy as np
import matplotlib.pyplot as plt

# Сгенерируем случайные данные
data = np.random.rand(10, 10)

# Создаем тепловую карту
plt.imshow(data, interpolation='nearest')
plt.colorbar()

plt.title('Тепловая карта с цветовой схемой Plasma')
plt.show()

Настройка цветовых схем для отдельных графиков и элементов

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

Чтобы изменить цветовую схему только для конкретного графика, используйте аргумент cmap в функциях построения, таких как imshow, scatter или pcolormesh:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(10, 10)

plt.imshow(data, cmap='viridis') # Изменяем цветовую схему только для этого графика
plt.colorbar()
plt.show()

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

Вы можете создать собственную цветовую палитру, используя LinearSegmentedColormap:

import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
import numpy as np

# Определяем цвета для нашей палитры
colors = [(0, 0, 1), (0, 1, 0), (1, 0, 0)] # Blue -> Green -> Red

# Создаем пользовательскую цветовую схему
cmap_name = 'my_custom_colormap'
ncmap = mcolors.LinearSegmentedColormap.from_list(cmap_name, colors)

# Регистрируем цветовую схему, чтобы ее можно было использовать по имени
plt.colormaps.register(cmap=ncmap)

# Пример использования
data = np.random.rand(10, 10)
plt.imshow(data, cmap=cmap_name)
plt.colorbar()
plt.show()

Использование стилей и цветовых схем из Seaborn и других библиотек

Интеграция цветовых схем Seaborn с Matplotlib

Seaborn предоставляет стили и цветовые палитры, которые можно легко интегрировать в Matplotlib:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

# Устанавливаем стиль Seaborn
sns.set_style('whitegrid')

# Генерируем данные
data = np.random.rand(10, 10)

# Используем палитру Seaborn
ax = sns.heatmap(data, cmap='viridis') #или любая другая палитра Seaborn
plt.show()

Альтернативные подходы и библиотеки для работы с цветами в Python

  • ColorBrewer: Набор готовых цветовых схем, ориентированных на картографию и визуализацию данных.

  • Palettable: Библиотека, предоставляющая доступ к различным цветовым палитрам, включая ColorBrewer.

Заключение

Изменение цветовой схемы по умолчанию в Matplotlib – важный шаг для создания качественных и информативных визуализаций. Используя rcParams, аргумент cmap и пользовательские палитры, вы можете настроить цвета ваших графиков в соответствии с вашими потребностями и предпочтениями. Экспериментируйте с различными подходами, чтобы найти оптимальные решения для визуализации ваших данных.


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