Ich benutze die Colormap "Jet", um meine Grafiken zu plotten. Aber ich hätte gerne die niedrigeren Werte in weißer Farbe und diese Farbkarte geht von blau zu rot. Ich möchte auch nicht eine andere Colormap verwenden, weil ich diese Farbpalette brauche ... Ich habe versucht, meine Colormap, um das gleiche wie "Jet" mit einer Reihe von Werten in weiß zu bekommen, aber das ist zu schwierig. Jemand könnte mir bitte helfen? DankePython Matplotlib Colormap
Antwort
Es gibt ziemlich viel dieses Beispiel auf der colormaps page. Graben durch die matplotlib
Quelle auf meinem Rechner, ist Jet definiert als (in _cm.py
):
_jet_data = {'red': ((0., 0, 0), (0.35, 0, 0), (0.66, 1, 1), (0.89,1, 1),
(1, 0.5, 0.5)),
'green': ((0., 0, 0), (0.125,0, 0), (0.375,1, 1), (0.64,1, 1),
(0.91,0,0), (1, 0, 0)),
'blue': ((0., 0.5, 0.5), (0.11, 1, 1), (0.34, 1, 1), (0.65,0, 0),
(1, 0, 0))}
Wahrscheinlich sollte es eine einfachste Lösung sein, aber die Art, wie ich ist herausgefunden, indem Sie Ihre eigene matplotlib.colors.LinearSegmentedColormap erstellen, basierend auf dem "Jet".
(Die unterste Ebene Ihrer Colormap wird in der ersten Zeile jedes Tupels von Rot, Grün und Blau definiert, also beginnen Sie mit der Bearbeitung. Ich füge ein zusätzliches Tupel hinzu, um im unteren Teil einen deutlich weißen Punkt zu haben. ... für jede Farbe, im ersten Element des Tupels geben Sie die Position in Ihrer Farbleiste an (von 0 bis 1) und in der zweiten und dritten die Farbe selbst).
from matplotlib.pyplot import *
import matplotlib
import numpy as np
cdict = {'red': ((0., 1, 1),
(0.05, 1, 1),
(0.11, 0, 0),
(0.66, 1, 1),
(0.89, 1, 1),
(1, 0.5, 0.5)),
'green': ((0., 1, 1),
(0.05, 1, 1),
(0.11, 0, 0),
(0.375, 1, 1),
(0.64, 1, 1),
(0.91, 0, 0),
(1, 0, 0)),
'blue': ((0., 1, 1),
(0.05, 1, 1),
(0.11, 1, 1),
(0.34, 1, 1),
(0.65, 0, 0),
(1, 0, 0))}
my_cmap = matplotlib.colors.LinearSegmentedColormap('my_colormap',cdict,256)
pcolor(np.random.rand(10,10),cmap=my_cmap)
colorbar()
show()
Sie folgende erhalten:
Es gibt eine andere Art und Weise ist das gleiche, ohne die Definition eines neuen colobar zu tun. Sie können die cmap.set_under-Methode verwenden, die die Farbe definiert, die für alle Werte unterhalb eines bestimmten Schwellenwerts verwendet werden soll. Der Schwellenwert wird während der pColorMesh definiert:
from matplotlib.pyplot import *
import numpy as np
mycmap = cm.get_cmap('jet')
mycmap.set_under('w')
pcolor(np.random.rand(10,10), cmap=mycmap, vmin=.1)
colorbar()
show()
Jetzt ist das hilfreich! – hdrz
- 1. matplotlib Standard colormap Nutzung
- 2. Invert Colormap in Matplotlib
- 3. Matplotlib 3D-Plot Verwendung Colormap
- 4. seaborn color_palette als matplotlib colormap
- 5. Oberflächendiagramm colormap python
- 6. Benutzerdefinierte Colormap in Python
- 7. Erstellen einer Colormap Legend in Matplotlib
- 8. Extrahieren Sie Matplotlib Colormap im Hex-Format
- 9. Manuelle Einrichtung Colormap für Farbbalken Matplotlib
- 10. Matplotlib colormap: Maximale Anzahl der Farben
- 11. Hat jemand die Parula Colormap in Matplotlib gemacht?
- 12. matplotlib: Verwenden einer Colormap zum Einfärben von Tabellenzellen
- 13. Erstellen Sie einen Farbgenerator aus gegebenen Colormap in Matplotlib
- 14. Colormap für Fehlerbalken in x-y Streudiagramm mit Matplotlib
- 15. Hinzufügen von Alpha zu einer vorhandenen matplotlib colormap
- 16. Mit colormap mit Bokeh Streu
- 17. Zeichnen Sie ein (polares) Farbrad basierend auf einer Colormap mit Python/Matplotlib
- 18. Versucht, eine Colormap in Python zu plotten
- 19. ändern colormap in SymPy des `` plot3d``
- 20. Python Matplotlib Punktfarbe
- 21. matplotlib Installationsproblem Python 3
- 22. Python Matplotlib rechteckig binning
- 23. Python matplotlib - Konturdiagramm - Konfidenzintervalle
- 24. Python - Matplotlib Elliptische Kurven
- 25. Matplotlib - Python Fehler
- 26. Matplotlib Grid-Einstellung (Python)
- 27. Python matplotlib Colorfunktion
- 28. Python matplotlib plot3d Konturlänge
- 29. Forcieren einer Colormap, um quadratisch zu sein
- 30. Kontrastfarbe für Colormap
Vielen Dank, aber wie kann ich die Farbe weiß für die unterste Ebene hinzufügen? Ich verstehe die dreifachen Zahlen nicht genau und wo kann ich sie finden? Wenn ich beispielsweise die Farbskala von den Werten 0 bis 10 ändern möchte, muss ich andere Tripel hinzufügen? – gwen
Die unterste Ebene Ihrer Colormap ist in der ersten Zeile jedes Tupels von Rot, Grün und Blau definiert, wobei das erste Element des Tupels die Werte gamma (von 0 bis 1) repräsentiert (denken Sie an die "Position" in a) Farbbalken). – carla
Wie Herr E schrieb, können Sie die Wörterbücher finden, die matplotlib colormaps in _cm.py generieren. Diese Datei befindet sich in Ihrem Python-Ordner, normalerweise im folgenden Pfad: C: \ Python ## \ Lib \ site-packages \ matplotlib \ – carla