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