Matplotlib-Colormap-Normalisierung: Visualisierung nichtlinearer Daten

PHPz
Freigeben: 2024-08-19 16:40:42
Original
676 Leute haben es durchsucht

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 RegisterkarteNotebookzu 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
Nach dem Login kopieren

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
Nach dem Login kopieren

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!