В Python одной из наиболее широко используемых библиотек является Matplotlib. Джон Хантер создал ее в 2002 году как многоплатформенную библиотеку, которая могла работать в различных операционных системах. Метод cmap() в пакете Matplotlib предоставляет множество встроенных цветовых карт. Компонент Pyplot библиотеки Matplotlib предлагает интерфейс, подобный MATLAB. Он также помогает в построении линий, трехмерных диаграмм, столбцов, контуров и точечных диаграмм, среди прочего.
Кроме того, цветовые карты часто классифицируются как последовательные, расходящиеся, качественные или циклические, в зависимости от их функциональности. Возвращенную форму большинства стандартных цветовых карт можно получить, включив «_r» в имя. Matplotlib предлагает несколько разработанных цветовых карт, доступ к которым можно получить через matplotlib.cm.get.cmap. В этой статье мы поговорим о цветовых картах Matplotlib в Python.
Создание нашей палитры
Мы будем изменять и развивать наши карты цветов, если нам потребуются сложные карты цветов или если предопределенные карты цветов Matplotlib не удовлетворяют нашим требованиям. Когда вы пытаетесь вписать цветовую карту в шаблон, ее значительно сложнее спроектировать и создать. Визуализация, встроенная в панель или веб-страницу с использованием уже существующей цветовой темы.
import matplotlib.pyplot as plt
import numpy as np
data = np.random.random([140, 140]) * 20
plt.figure(figsize=(8, 8))
plt.pcolormesh(data)
plt.colorbar()
В этом сценарии давайте внесем некоторые изменения в наши карты цветов. Нам нужно интегрировать библиотеки, а затем использовать эту программу для создания демонстрационных данных, которые будут отображаться. Элемент данных представляет собой набор 140×140 целых значений в диапазоне от 0 до 20.
Мы можем оценить это, выполнив следующую команду. После этого мы используем этот метод для отображения фиктивного набора данных с обычными картами цветов. Однако, если мы не указали используемые нами цветовые карты, будут разработаны цветовые карты по умолчанию.
Классы цветовых карт
Последовательные цветовые карты, циклические цветовые карты, расходящиеся цветовые карты и качественные цветовые карты — это некоторые классы цветовых карт, доступных в Matplotlib. Мы собираемся дать вам представления каждой категоризированной карты цветов.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 60)
y = np.linspace(-np.pi, np.pi, 60)
X,Y = np.meshgrid(x,y)
Z = np.sin(X + Y/6)
fig = plt.figure(figsize = (14,5.5))
fig.subplots_adjust(wspace=0.4)
plt.subplot(1,4,1)
plt.pcolormesh(X, Y, Z, cmap=plt.cm.get_cmap(‘Greens’))
plt.colorbar()
plt.axis([—2, 2, —2, 2])
plt.title(‘Sequential’)
plt.subplot(1,4,2)
plt.pcolormesh(X, Y, Z, cmap=plt.cm.get_cmap(‘RdBu’))
plt.colorbar()
plt.axis([—1, 1, —1, 1])
plt.title(‘Diverging’)
plt.subplot(1,4,3)
plt.pcolormesh(X, Y, Z, cmap=plt.cm.get_cmap(‘RdBu_r’))
plt.colorbar()
plt.axis([—1, 1, —1, 1])
plt.title(‘Cyclic’)
plt.subplot(1,4,4)
plt.pcolormesh(X, Y, Z, cmap=plt.cm.get_cmap(‘Dark2’))
plt.colorbar()
plt.axis([—3, 3, —3, 3])
plt.title(‘Qualitative’)
Последовательные цветовые карты означают постепенное изменение яркости и интенсивности цвета, часто с использованием только одного тона; это должно быть необходимо для демонстрации данных с последовательностью.
Расходящиеся цветовые карты : представляют собой изменение яркости и, возможно, интенсивности двух отдельных оттенков, которые достигают консенсуса в ненасыщенном цвете. Этот стиль можно использовать, когда отображаемые данные содержат релевантное среднее значение, например топологию, или если данные отличаются от нуля.
Циклические карты цветов : показывает переход интенсивности двух цветов, пересекающихся в центре и начинающихся/заканчивающихся ненасыщенным тоном. Эти цветовые карты можно использовать для элементов, которые вращаются вокруг терминалов, таких как фазовый угол, характер ветра или продолжительность дня.
Качественные цветовые карты: различные оттенки, используемые для изображения данных, которые не содержат какого-либо порядка или ассоциации.
Цветовые карты обычно делятся на эти группы в зависимости от их назначения.
Использование встроенной палитры Matplotlib
Выбор подходящей цветовой карты — это получение хорошего описания нашей точки данных в трехмерной цветовой карте. Цветовая карта критерия, особенно когда идентичные этапы данных интерпретируются как аналогичные этапы в цветовом пространстве, является оптимальным выбором для многих целей.
Исследователи обнаружили, что наш мозг распознает изменения параметра яркости при изменении данных значительно лучше, чем изменения цвета. В результате наблюдатель будет легко понимать карты цветов с постоянным увеличением яркости по всей цветовой модели.
import numpy as np
import matplotlib.pyplot as plt
x, y = np.mgrid[—6:6:0.06, —6:6:0.06]
z = (np.sqrt(x**4 + y**4) + np.sin(x**4 + y**4))
fig, ax = plt.subplots(1,1)
im = ax.imshow(z)
fig.colorbar(im)
ax.yaxis.set_major_locator(plt.NullLocator())
ax.xaxis.set_major_locator(plt.NullLocator())
В качестве класса-примеси объекты, созданные такими методами, как pcolor(), контур(), scatter() и imshow() подтипа ScalarMappable. Классы Mixin включают в себя общие функции, но не предназначены для того, чтобы «стоять в пределах своих собственных». Они не являются основным классом объекта. Это то, что позволяет различным объектам, таким как Коллекция, предоставляемая poclor() или scatter(), и Изображение, созданное imshow(), совместно использовать инфраструктуру карты цветов.
Цветовые карты по умолчанию в Matplotlib
Matplotlib включает в себя огромное количество предопределенных цветовых карт, как показано здесь. Различные библиотеки с большим количеством дополнительных цветовых карт предоставляются в пакете Matplotlib. Давайте продолжим и попробуем четыре разные цветовые карты Matplotlib.
import numpy as np
import matplotlib.pyplot as plt
x, y = np.mgrid[—6:6:0.06, —6:6:0.06]
z = (np.sqrt(x**4 + y**4) + np.sin(x**4 + y**4))
from mpl_toolkits.axes_grid1 import make_axes_locatable
fig, axes = plt.subplots(2,2, figsize=(20,20))
for ax, name in zip(axes.flatten(), cmap_list):
im = ax.imshow(z, aspect=‘auto’, cmap=plt.get_cmap(name))
ax.yaxis.set_major_locator(plt.NullLocator())
ax.xaxis.set_major_locator(plt.NullLocator())
ax.set_aspect(‘equal’, adjustable=‘box’)
divider = make_axes_locatable(ax)
cax = divider.append_axes(«right», size=«6%», pad=0.2)
plt.colorbar(im, cax=cax)
Инвертированный вариант большинства предустановленных цветовых карт можно получить, вставив «_r» в метку. Matplotlib.cm.get cmap (имя), здесь мы передаем имя параметра этой функции, которая показывает имя карты цветов, может использоваться для их получения.
Любые указанные карты цветов идентифицируются функцией get_cmap(). Используйте matplotlib.cm.register_cmap (имя, cmap) для регистрации любой карты цветов.
Заключение
В этой статье мы рассмотрели цветовые карты Matplotlib. Далее мы обсудили использование функции cmap() в Python. Из-за восприятия человеческого разума выбор правильного оттенка для наших цветовых карт имеет решающее значение. Цвет передает мысли, настроения и чувства. Matplotlib имеет множество цветовых карт, но некоторые люди отдают предпочтение цветовым картам. В Matplotlib у нас есть возможность создавать и редактировать наши цветовые карты. Мы использовали цветовые карты «RdYlBu_r» для оценки данных перед изменением цветовых карт.