Heim  >  Artikel  >  Backend-Entwicklung  >  Matplotlib-Colormap-Normalisierung: Visualisierung nichtlinearer Daten

Matplotlib-Colormap-Normalisierung: Visualisierung nichtlinearer Daten

PHPz
PHPzOriginal
2024-08-19 16:40:42853Durchsuche

Einführung

Matplotlib Colormap Normalization: Visualizing Nonlinear Data

Bei der Datenvisualisierung werden Farbkarten verwendet, um numerische Daten durch Farbe darzustellen. Allerdings kann die Datenverteilung manchmal nichtlinear sein, was es schwierig machen kann, die Details der Daten zu erkennen. In solchen Fällen kann die Farbkartennormalisierung verwendet werden, um Farbkarten auf nichtlineare Weise auf Daten abzubilden und so die Daten genauer darzustellen. Matplotlib bietet mehrere Normalisierungsmethoden, darunter SymLogNorm und AsinhNorm, die zum Normalisieren von Farbkarten verwendet werden können. In diesem Labor wird gezeigt, wie Sie SymLogNorm und AsinhNorm verwenden, um Farbkarten auf nichtlineare Daten abzubilden.

VM-Tipps

Nachdem der VM-Start abgeschlossen ist, klicken Sie auf die obere linke Ecke, um zur Registerkarte Notebook zu wechseln und zum Üben auf Jupyter Notebook zuzugreifen.

Manchmal müssen Sie möglicherweise einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie beim Lernen auf Probleme stoßen, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback und wir werden das Problem umgehend für Sie lösen.

Erforderliche Bibliotheken importieren

In diesem Schritt importieren wir die erforderlichen Bibliotheken, einschließlich Matplotlib-, NumPy- und Matplotlib-Farben.

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

Erstellen Sie synthetische Daten

In diesem Schritt erstellen wir einen synthetischen Datensatz, der aus zwei Buckeln besteht, einem negativen und einem positiven, wobei der positive Buckel eine achtmal größere Amplitude als der negative Buckel hat. Anschließend wenden wir SymLogNorm an, um die Daten zu visualisieren.

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

Wenden Sie SymLogNorm an

In diesem Schritt wenden wir SymLogNorm auf die synthetischen Daten an und visualisieren die Ergebnisse.

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

Wenden Sie AsinhNorm an

In diesem Schritt wenden wir AsinhNorm auf die synthetischen Daten an und visualisieren die Ergebnisse.

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

Zusammenfassung

In diesem Labor haben wir gelernt, wie man SymLogNorm und AsinhNorm verwendet, um Farbkarten auf nichtlineare Daten abzubilden. Durch die Anwendung dieser Normalisierungsmethoden können wir die Daten genauer visualisieren und die Details der Daten leichter erkennen.


? Üben Sie jetzt: Matplotlib Colormap-Normalisierung


Möchten Sie mehr erfahren?

  • ? Lernen Sie die neuesten Python-Skill-Trees kennen
  • ? Lesen Sie weitere Python-Tutorials
  • ? Treten Sie unserem Discord bei oder twittern Sie uns @WeAreLabEx

Das obige ist der detaillierte Inhalt vonMatplotlib-Colormap-Normalisierung: Visualisierung nichtlinearer Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Laden Sie Daten in Neo4jNächster Artikel:Laden Sie Daten in Neo4j