Ich habe an einigen Daten Plotten für Python funktioniert und ein solches Werkzeug, das ich für meine Forschung brauche, ist eine Reihe von Differenzdiagrammen, um die Änderungen zwischen zwei Datensätze zu vergleichen.Matplotlib benutzerdefinierte divergierende Farbverlauf ignorieren Farben
Ich bin jetzt an dem Punkt, wo ich meine Daten plotten möchte und ich habe in die Erstellung von benutzerdefinierten Farbkarten zur Handhabung der divergierenden Daten, aber alle meine Plots so weit sind entweder ignoriert bestimmte Schritte in meinem Farbverlauf, oder Die Farben werden für meine niedrigen Werte wiederholt.
Hier ist ein Beispiel Plot, der generiert wurde:
Und der Code für meine eigene Farbkarte, sowie das Plotten:
diffmap_17 = ["#FF0000", "#F81318", "#F12731", "#EB3B4A", "#EB5C66", "#EB7D82", "#EB9E9E", "#F1BEBE", "#F8DEDE", "#FFFFFF", "#DDDCFD", "#BCB9FB", "#9B96FA", "#6A6CFA", "#3A43FA", "#1D21FC", "#0000FF"]
diffmap_17_colormap = matplotlib.colors.ListedColormap(diffmap_17)
contour_levels = [-20, -10, -5, -2, -1, -0.75, -0.5, -0.25, -0.1, 0.0, 0.1, 0.25, 0.5, 0.75, 1, 2, 5, 10, 20]
cs = m.contourf(x,y,data,contour_levels,cmap=diffmap_17_colormap) #plot total
Mein Ziel ist es, die Farbkarte zu haben, der Nullpunkt muss weiß sein und dann nach außen divergieren (Rot negativ, Blau positiv). Momentan verwende ich eine Standard-Farbkarte, aber die Verwendung einer benutzerdefinierten Farbvorlage würde bevorzugt.
Jede Hilfe würde sehr geschätzt werden. Vielen Dank!
Ihre Daten sind wahrscheinlich nicht das, was Sie glauben, dass es ist. Schwer zu helfen ohne [mcve] ... – Julien
Ich stimme @Julien zu. Von dem, was Sie in Ihrem Bild zeigen, haben Sie wahrscheinlich ein paar extreme Werte, die schwer zu sehen sind und der Rest Ihrer Daten liegen im Bereich zwischen -1 und 1. Haben Sie versucht, die Grenzen zu ändern ('vmin' und' vmax '). Auch wenn Ihre Daten in einem der Standardformate wie netcdf vorliegen, gibt es viele Tools, mit denen Sie Ihre Dateien schnell betrachten können. Bei netcdf-Dateien z. B. prüfe ich meine Daten gerne mit 'ncview' vor. –
Im Gegensatz zu den Kommentaren von @Thomas und Julien ist das Problem primär unabhängig von den Daten, da die Ebenen explizit angegeben sind. Es ist lediglich eine Frage, wie der zu verwendende Farbenbereich definiert wird. Zwei Optionen werden in meiner Antwort unten gezeigt. Die Tatsache, dass die vollständige Karte die gleiche Farbe hat, würde dann aber auch engere Ebenen ermöglichen (von -10 bis 10 reicht wahrscheinlich aus). Beachten Sie jedoch, dass Julien völlig Recht damit hat zu sagen, dass ein [mcve] gegeben werden sollte, wenn man eine Frage wie diese stellt (bitte denken Sie daran, beim nächsten Mal nachzufragen). – ImportanceOfBeingErnest