Heim >Backend-Entwicklung >Python-Tutorial >Wie lege ich den Farbbalkenbereich für benutzerdefinierte Farbkarten in Matplotlib fest?

Wie lege ich den Farbbalkenbereich für benutzerdefinierte Farbkarten in Matplotlib fest?

Barbara Streisand
Barbara StreisandOriginal
2024-11-03 11:40:03410Durchsuche

How do I set the colorbar range for custom colormaps in matplotlib?

Farbbalkenbereich für benutzerdefinierte Farbkarten festlegen

Beim Erstellen von Diagrammen mit benutzerdefinierten Farbkarten ist es oft wünschenswert, den Bereich der Farbbalken unabhängig davon festzulegen die Datenwerte. Dies ermöglicht eine konsistente Farbinterpretation über mehrere Diagramme mit unterschiedlichen Datenbereichen hinweg.

Im bereitgestellten Code-Snippet verwendet die pcolor-Funktion eine benutzerdefinierte Farbkarte, die vom cdict-Wörterbuch definiert wird. Der Bereich der Farbleiste wird standardmäßig durch die Maximal- und Minimalwerte des Datenarrays (v) bestimmt. In einigen Fällen ist es jedoch erforderlich, den Farbbalkenbereich auf ein bestimmtes Intervall zu zwingen, z. B. 0 bis 1.

Die Parameter vmin und vmax der Funktion pcolor können zum Festlegen der Mindest- und Höchstwerte verwendet werden jeweils für die Farbleiste. Durch Angabe dieser Werte wird die Farbkarte gestreckt oder komprimiert, um in den angegebenen Bereich zu passen.

Hier ist ein aktualisiertes Beispiel:

<code class="python">import matplotlib as m
import matplotlib.pyplot as plt
import numpy as np

cdict = {
  'red'  :  ( (0.0, 0.25, .25), (0.02, .59, .59), (1., 1., 1.)),
  'green':  ( (0.0, 0.0, 0.0), (0.02, .45, .45), (1., .97, .97)),
  'blue' :  ( (0.0, 1.0, 1.0), (0.02, .75, .75), (1., 0.45, 0.45))
}

cm = m.colors.LinearSegmentedColormap('my_colormap', cdict, 1024)

x = np.arange(0, 10, .1)
y = np.arange(0, 10, .1)
X, Y = np.meshgrid(x,y)

data = 2*( np.sin(X) + np.sin(3*Y) )

plt.pcolor(X, Y, data, cmap=cm, vmin=0, vmax=1)
plt.colorbar()
plt.show()</code>

In diesem Beispiel sind die Parameter vmin und vmax auf eingestellt 0 bzw. 1. Dadurch wird der Farbbalken gezwungen, unabhängig von den Datenwerten einen Bereich von 0 bis 1 anzugeben.

Durch die Angabe von vmin und vmax können Sie eine konsistente Farbinterpretation über verschiedene Diagramme hinweg sicherstellen, selbst wenn die Datenbereiche variieren. Dies kann besonders nützlich sein, wenn Sie mehrere Datensätze vergleichen oder interaktive Visualisierungen erstellen, bei denen sich der Datenbereich dynamisch ändern kann.

Das obige ist der detaillierte Inhalt vonWie lege ich den Farbbalkenbereich für benutzerdefinierte Farbkarten in Matplotlib fest?. 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