«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Нормализация цветовой карты Matplotlib: визуализация нелинейных данных

Нормализация цветовой карты Matplotlib: визуализация нелинейных данных

Опубликовано 4 ноября 2024 г.
Просматривать:661

Введение

Matplotlib Colormap Normalization: Visualizing Nonlinear Data

При визуализации данных цветовые карты используются для представления числовых данных посредством цвета. Однако иногда распределение данных может быть нелинейным, что может затруднить различение деталей данных. В таких случаях можно использовать нормализацию цветовых карт для отображения цветовых карт на данные нелинейным способом, чтобы помочь более точно визуализировать данные. Matplotlib предоставляет несколько методов нормализации, включая SymLogNorm и AsinhNorm, которые можно использовать для нормализации цветовых карт. В этой лабораторной работе будет продемонстрировано, как использовать SymLogNorm и AsinhNorm для сопоставления цветовых карт с нелинейными данными.

Советы по виртуальной машине

После завершения запуска виртуальной машины щелкните верхний левый угол, чтобы переключиться на вкладку Блокнот для доступа к блокноту Jupyter для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook завершит загрузку. Проверка операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если у вас возникнут проблемы во время обучения, не стесняйтесь спросить Лабби. Оставьте отзыв после сеанса, и мы оперативно решим вашу проблему.

Импортировать необходимые библиотеки

На этом этапе мы импортируем необходимые библиотеки, включая цвета Matplotlib, NumPy и Matplotlib.

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

Создайте синтетические данные

На этом этапе мы создадим синтетический набор данных, состоящий из двух выступов, одного отрицательного и одного положительного, причем положительный выступ будет иметь амплитуду в восемь раз большую, чем отрицательный. Затем мы применим SymLogNorm для визуализации данных.

def rbf(x, y):
    return 1.0 / (1   5 * ((x ** 2)   (y ** 2)))

N = 200
gain = 8
X, Y = np.mgrid[-3:3:complex(0, N), -2:2:complex(0, N)]
Z1 = rbf(X   0.5, Y   0.5)
Z2 = rbf(X - 0.5, Y - 0.5)
Z = gain * Z1 - Z2

shadeopts = {'cmap': 'PRGn', 'shading': 'gouraud'}
colormap = 'PRGn'
lnrwidth = 0.5

Применить Симлогнорм

На этом этапе мы применим SymLogNorm к синтетическим данным и визуализируем результаты.

fig, ax = plt.subplots(2, 1, sharex=True, sharey=True)

pcm = ax[0].pcolormesh(X, Y, Z,
                       norm=colors.SymLogNorm(linthresh=lnrwidth, linscale=1,
                                              vmin=-gain, vmax=gain, base=10),
                       **shadeopts)
fig.colorbar(pcm, ax=ax[0], extend='both')
ax[0].text(-2.5, 1.5, 'symlog')

pcm = ax[1].pcolormesh(X, Y, Z, vmin=-gain, vmax=gain,
                       **shadeopts)
fig.colorbar(pcm, ax=ax[1], extend='both')
ax[1].text(-2.5, 1.5, 'linear')

plt.show()

Применить AsinhNorm

На этом этапе мы применим AsinhNorm к синтетическим данным и визуализируем результаты.

fig, ax = plt.subplots(2, 1, sharex=True, sharey=True)

pcm = ax[0].pcolormesh(X, Y, Z,
                       norm=colors.SymLogNorm(linthresh=lnrwidth, linscale=1,
                                              vmin=-gain, vmax=gain, base=10),
                       **shadeopts)
fig.colorbar(pcm, ax=ax[0], extend='both')
ax[0].text(-2.5, 1.5, 'symlog')

pcm = ax[1].pcolormesh(X, Y, Z,
                       norm=colors.AsinhNorm(linear_width=lnrwidth,
                                             vmin=-gain, vmax=gain),
                       **shadeopts)
fig.colorbar(pcm, ax=ax[1], extend='both')
ax[1].text(-2.5, 1.5, 'asinh')

plt.show()

Краткое содержание

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


? Попрактикуйтесь сейчас: нормализация цветовой карты Matplotlib


Хотите узнать больше?

  • ? Изучите новейшие деревья навыков Python
  • ? Читать больше руководств по Python
  • ? Присоединяйтесь к нашему Discord или напишите нам @WeAreLabEx
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/labex/matplotlib-colormap-normalization-visualizing-nonlinear-data-9g5?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3