"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Normalização do mapa de cores Matplotlib: visualizando dados não lineares

Normalização do mapa de cores Matplotlib: visualizando dados não lineares

Publicado em 2024-11-04
Navegar:565

Introdução

Matplotlib Colormap Normalization: Visualizing Nonlinear Data

Na visualização de dados, mapas de cores são usados ​​para representar dados numéricos por meio de cores. No entanto, por vezes a distribuição dos dados pode ser não linear, o que pode dificultar o discernimento dos detalhes dos dados. Nesses casos, a normalização do mapa de cores pode ser usada para mapear mapas de cores nos dados de maneira não linear para ajudar a visualizar os dados com mais precisão. Matplotlib fornece vários métodos de normalização, incluindo SymLogNorm e AsinhNorm, que podem ser usados ​​para normalizar mapas de cores. Este laboratório demonstrará como usar SymLogNorm e AsinhNorm para mapear mapas de cores em dados não lineares.

Dicas de VM

Depois que a inicialização da VM for concluída, clique no canto superior esquerdo para alternar para a guia Notebook para acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário esperar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido às limitações do Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão e resolveremos o problema imediatamente para você.

Importar bibliotecas necessárias

Nesta etapa, importaremos as bibliotecas necessárias, incluindo cores Matplotlib, NumPy e Matplotlib.

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

Crie dados sintéticos

Nesta etapa, criaremos um conjunto de dados sintético composto por duas lombadas, uma negativa e uma positiva, com a lombada positiva tendo uma amplitude oito vezes maior que a lombada negativa. Em seguida, aplicaremos SymLogNorm para visualizar os dados.

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

Aplicar SymLogNorm

Nesta etapa, aplicaremos SymLogNorm aos dados sintéticos e visualizaremos os resultados.

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()

Aplicar AsinhNorm

Nesta etapa, aplicaremos o AsinhNorm aos dados sintéticos e visualizaremos os resultados.

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()

Resumo

Neste laboratório, aprendemos como usar SymLogNorm e AsinhNorm para mapear mapas de cores em dados não lineares. Ao aplicar esses métodos de normalização, podemos visualizar os dados com mais precisão e discernir os detalhes dos dados com mais facilidade.


? Pratique agora: Normalização do mapa de cores Matplotlib


Quer saber mais?

  • ? Aprenda as árvores de habilidades Python mais recentes
  • ? Leia mais tutoriais Python
  • ? Junte-se ao nosso Discord ou envie um tweet para nós @WeAreLabEx
Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/labex/matplotlib-colormap-normalization-visualizing-nonlinear-data-9g5?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3