Schöne Colormaps für die Ozeanographie: cmocean¶
Dieses Paket enthält Colormaps für häufig verwendete ozeanografische Variablen. Die meisten Colormaps basieren auf matplotlib Colormaps, wurden aber jetzt mit dem viscm-Tool angepasst, um wahrnehmungsmäßig einheitlich zu sein.
Hinweis
Dies ist eine neue Version von cmocean mit vier neuen Colormaps!
Hinweis
Wir haben eine Veröffentlichung mit Richtlinien zur Auswahl von Colormaps für Ihre Anwendung und einer Beschreibung der cmocean Colormaps
Thyng, K. M., Greene, C. A., Hetland, R. D., Zimmerle, H. M., & DiMarco, S. F. (2016). True colors of oceanography. Oceanography, 29(3), 10.
Link: http://tos.org/oceanography/assets/docs/29-3_thyng.pdf
Hier ist unsere Galerie
import cmocean
cmocean.plots.plot_gallery()
(Quellcode, png, hires.png, pdf)
Diese Colormaps wurden so gewählt, dass sie wahrnehmungsmäßig einheitlich sind und die von ihnen dargestellten Daten widerspiegeln, indem sie sequenziell, divergent oder zyklisch (Phasen-Colormap) sind und intuitiv sind. Zum Beispiel repräsentiert die algae Colormap Grüntöne, die Chlorophyll darstellen könnten.
Hier ist die Helligkeit der Colormaps
import cmocean
cmocean.plots.plot_lightness()
(Quellcode, png, hires.png, pdf)
Es ist wahrscheinlich besser, in Farbenraum cam02ucs zu denken, in dem die euklidische Entfernung Veränderungen in der menschlichen Wahrnehmung entspricht. Diagramme dieser Colormaps in diesem Farbenraum und mit einigen anderen wichtigen Eigenschaften werden mit dem viscm-Tool angezeigt.
Hier sind einige Eigenschaften der haline Colormap. Wir können sehen, dass die Colormap gut in Graustufen druckt, konsistente wahrnehmungsmäßige Deltas über die gesamte Colormap hinweg aufweist und für Menschen mit Farbblindheit gut sichtbar ist. Sie hat eine glatte Darstellung in ihrem 3D-Farbraum und Details in den Bildern sind klar.
import cmocean
cmocean.plots.wrap_viscm(cmocean.cm.haline, saveplot=False)
(Quellcode, png, hires.png, pdf)
Alle Auswertungen der Colormaps mit dem viscm-Tool sind auf der Seite cmocean Colormaps im viscm-Tool zu sehen.
Installation¶
Zur Installation: pip install cmocean
Zur Installation mit Anaconda: conda install -c conda-forge cmocean
Wenn Sie das Untermodul plots verwenden möchten, können Sie stattdessen installieren mit
pip install "cmocean[plots]"
Dies installiert auch viscm und colorspacious.
Funktionen¶
Die Colormaps sind alle in cmocean.cm verfügbar. Sie können wie folgt abgerufen und einfach gezeichnet werden
import cmocean
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(8, 3))
ax = fig.add_subplot(1, 2, 1)
cmocean.plots.test(cmocean.cm.thermal, ax=ax)
ax = fig.add_subplot(1, 2, 2)
cmocean.plots.quick_plot(cmocean.cm.algae, ax=ax)
(Quellcode, png, hires.png, pdf)
Alle verfügbaren Colormap-Namen können mit cmocean.cm.cmapnames abgerufen werden
In [1]: import cmocean
In [2]: cmocean.cm.cmapnames
Out[2]:
['thermal',
'haline',
'solar',
'ice',
'gray',
'oxy',
'deep',
'dense',
'algae',
'matter',
'turbid',
'speed',
'amp',
'tempo',
'rain',
'phase',
'topo',
'balance',
'delta',
'curl',
'diff',
'tarn']
Die Colormap-Instanzen können abgerufen werden mit
In [3]: import cmocean
In [4]: cmaps = cmocean.cm.cmap_d;
Alle verfügbaren Colormaps in Textdateien mit 256 RGB-Einträgen ausgeben mit
cmaps = cmocean.cm.cmap_d
cmocean.tools.print_colormaps(cmaps)
Eine Dictionary ausgeben, um eine Colormap zu definieren mit
In [5]: import cmocean
In [6]: cmdict = cmocean.tools.get_dict(cmocean.cm.matter, N=9)
In [7]: print(cmdict)
{'red': [(0.0, 0.99429361496112023, 0.99429361496112023), (0.125, 0.97669801635856757, 0.97669801635856757), (0.25, 0.94873479766923496, 0.94873479766923496), (0.375, 0.90045567698531204, 0.90045567698531204), (0.5, 0.80852468744463613, 0.80852468744463613), (0.625, 0.67108411902889908, 0.67108411902889908), (0.75, 0.51122751026810531, 0.51122751026810531), (0.875, 0.34246319725680402, 0.34246319725680402), (1.0, 0.18517171283533682, 0.18517171283533682)], 'green': [(0.0, 0.93032779532320797, 0.93032779532320797), (0.125, 0.75576791099973906, 0.75576791099973906), (0.25, 0.58413112562241909, 0.58413112562241909), (0.375, 0.41389524263548055, 0.41389524263548055), (0.5, 0.26372603126828165, 0.26372603126828165), (0.625, 0.16249519232276352, 0.16249519232276352), (0.75, 0.10922326738769267, 0.10922326738769267), (0.875, 0.089677516287552023, 0.089677516287552023), (1.0, 0.05913348735199072, 0.05913348735199072)], 'blue': [(0.0, 0.69109690224984077, 0.69109690224984077), (0.125, 0.53031307900834646, 0.53031307900834646), (0.25, 0.40291681995676154, 0.40291681995676154), (0.375, 0.32938102171259315, 0.32938102171259315), (0.5, 0.33885361881305626, 0.33885361881305626), (0.625, 0.37820659039971588, 0.37820659039971588), (0.75, 0.38729596513525039, 0.38729596513525039), (0.875, 0.33739313395770171, 0.33739313395770171), (1.0, 0.24304267442183591, 0.24304267442183591)]}
Erstellen Sie eine Colormap-Instanz mit cmap = cmocean.tools.cmap(rgbin, N=10) unter Angabe des RGB-Eingangsarrays.
Umgekehrte Versionen aller Colormaps sind verfügbar, indem an den Colormap-Namen "_r" angehängt wird, genau wie bei matplotlib
import cmocean
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(8, 3))
ax = fig.add_subplot(1, 2, 1)
cmocean.plots.test(cmocean.cm.gray, ax=ax)
ax = fig.add_subplot(1, 2, 2)
cmocean.plots.test(cmocean.cm.gray_r, ax=ax)
fig.tight_layout()
(Quellcode, png, hires.png, pdf)
Sie können eine Colormap mit einem Alpha-Wert unter 1 mit der Funktion cmocean.tools.lighten() aufhellen, damit Sie Konturen und andere Linien besser sichtbar überlagern können
import cmocean
import cmocean.cm as cmo
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(8, 3))
ax = fig.add_subplot(1, 2, 1)
Z = np.random.randn(10,10)
ax.pcolormesh(Z, cmap=cmo.matter)
ax = fig.add_subplot(1, 2, 2)
lightcmap = cmocean.tools.lighten(cmo.matter, 0.5)
ax.pcolormesh(Z, cmap=lightcmap)
fig.tight_layout()
(Quellcode, png, hires.png, pdf)
cmocean registriert seine Colormaps bei matplotlib, sodass Sie sie zum Beispiel mit 'cmo.amp' aufrufen können
import cmocean
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(4, 3))
ax = fig.add_subplot(111)
Z = np.random.randn(10,10)
ax.pcolormesh(Z, cmap='cmo.amp')
(Quellcode, png, hires.png, pdf)
Beschneiden einer Colormap¶
Sie können ein oder beide Enden einer Colormap entweder nach den Werten, die Sie darstellen möchten, oder nach Prozent abschneiden. Zum Beispiel können Sie beide Enden einer Colormap prozentual abschneiden, um den Helligkeitsbereich zu reduzieren und die dunkelsten Werte nicht zu verwenden
import cmocean
import matplotlib.pyplot as plt
cmap = cmocean.cm.tarn
fig, axes = plt.subplots(1, 2, figsize=(8,4))
A = np.random.randint(-5, 6, (10,10))
mappable = axes[0].pcolormesh(A, cmap=cmap)
axes[0].set_title('Full diverging colormap')
fig.colorbar(mappable, ax=axes[0])
newcmap = cmocean.tools.crop_by_percent(cmap, 30, which='both', N=None)
mappable = axes[1].pcolormesh(A, cmap=newcmap)
axes[1].set_title('Same colormap,\n30% removed from each end')
fig.colorbar(mappable, ax=axes[1])
(Quellcode, png, hires.png, pdf)
Sie können ein Ende einer Colormap prozentual abschneiden. Zum Beispiel können Sie den oberen Teil der oxy Colormap abschneiden, falls Sie keine übersättigten Bedingungen berücksichtigen (oberste 20 % der Colormap), können Sie diese wie folgt aus der Colormap entfernen
import cmocean
import matplotlib.pyplot as plt
cmap = cmocean.cm.oxy
fig, axes = plt.subplots(1, 2, figsize=(8,4))
A = np.random.randint(0, 101, (10,10))
mappable = axes[0].pcolormesh(A, vmin=0, vmax=100, cmap=cmap)
axes[0].set_title('Values go to super-saturated')
fig.colorbar(mappable, ax=axes[0])
newcmap = cmocean.tools.crop_by_percent(cmap, 20, which='max', N=None)
A[A>80] = 80
mappable = axes[1].pcolormesh(A, vmin=0, vmax=80, cmap=newcmap)
axes[1].set_title('Values are all\nbelow super-saturated')
fig.colorbar(mappable, ax=axes[1])
(Quellcode, png, hires.png, pdf)
Sie können einen Teil eines Endes einer Colormap entfernen, indem Sie die Werte eingeben, die Sie in Ihrem Diagramm verwenden möchten, und die Funktion ermitteln lassen, wie viel von der Colormap abgeschnitten werden soll. Dies könnte besonders nützlich sein, wenn Sie kombinierte Bathymetrie- und Topographiedaten (Meer- und Landeshöhen) mit der topo Colormap darstellen möchten, Sie aber möchten, dass die maximalen Magnituden für Wasser und Land unterschiedlich sind und dies in der Colormap widergespiegelt wird.
import cmocean
import matplotlib.pyplot as plt
cmap = cmocean.cm.topo
fig, axes = plt.subplots(1, 2, figsize=(8,4))
A = np.random.randint(-50, 201, (10,10))
mappable = axes[0].pcolormesh(A, vmin=-200, vmax=200, cmap=cmap)
axes[0].set_title('No values<-50, but still\nshow possibility in colorbar')
fig.colorbar(mappable, ax=axes[0])
newcmap = cmocean.tools.crop(cmap, -50, 200, 0)
mappable = axes[1].pcolormesh(A, vmin=-50, vmax=200, cmap=newcmap)
axes[1].set_title('Colorbar only shows color\nrange used by data')
fig.colorbar(mappable, ax=axes[1])
(Quellcode, png, hires.png, pdf)
Colormap-Details¶
thermal¶
Die thermal Colormap ist sequenziell, wobei dunkles Blau niedrigere, kühlere Werte repräsentiert und über Rottöne zu Gelb übergeht, was erhöhte wärmere Werte repräsentiert.
Glider-Daten von Texas A&M’s Geochemical and Environmental Research Group (GERG).
Daten aus der Publikation: Kenel, C., Grolimund, D., Li, X., Panepucci, E., Samson, V. A., Sanchez, D. F., … & Leinenbach, C. (2017). In situ investigation of phase transformations in Ti-6Al-4V under additive manufacturing conditions combining laser melting and high-speed micro-X-ray diffraction. Scientific reports, 7(1), 16358.
Usamentiaga, R., Ibarra-Castanedo, C., Klein, M., Maldague, X., Peeters, J., & Sanchez-Beato, A. (2017). Nondestructive evaluation of carbon fiber bicycle frames using infrared thermography. Sensors, 17(11), 2679.
Temperaturdiagramm von CTD-Daten für den oberen Ozean; erstellt von Luz Zarate Jimenez.
pH-Diagramm von Flaschen-Daten in voller Wassertiefe, wobei die Punkte die Tiefen darstellen, in denen Wasserproben gesammelt wurden; erstellt von Luz Zarate Jimenez.
WUNSCH, C. (2018). Towards determining uncertainties in global oceanic mean values of heat, salt, and surface elevation. Tellus A: Dynamic Meteorology and Oceanography, 70(1), 1-14.
Glider-Daten von Mid-Atlantic Regional Association Coastal Ocean Observing System (MARACOOS).
Visualisierung von Ozeanmodellen von tecplot.
Potter, H. (2018). The cold wake of typhoon Chaba (2010). Deep Sea Research Part I: Oceanographic Research Papers, 140, 136-141.
haline¶
Die haline Colormap ist sequenziell und könnte mit dunklem Blau für niedrigere Salinität oder Süßwasser verwendet werden, Übergänge durch Grüntöne zu hellgelb für erhöhte Salinität oder salzigeres Wasser. Diese Colormap basiert auf Matplotlibs YlGnBu, wurde aber mit dem viscm-Tool von Grund auf neu erstellt.
Modellausgabe im nordwestlichen Golf von Mexiko von der Physical Oceanography Numerical Group (PONG) an der Texas A&M.
Darstellung von CTD-Daten (Temperatur und Salzgehalt) mit dem R oce-Paket, von Clark Richards
Alkalinitätsdiagramm von Flaschen-Daten in voller Wassertiefe, wobei die Punkte die Tiefen darstellen, in denen Wasserproben gesammelt wurden; erstellt von Luz Zarate Jimenez.
Salinitätsdiagramm von CTD-Daten für den oberen Ozean; erstellt von Luz Zarate Jimenez.
Glider-Daten von Mid-Atlantic Regional Association Coastal Ocean Observing System (MARACOOS).
solar¶
Die solar Colormap ist sequenziell von dunkelbraun für niedrige Werte zu zunehmend hellem Gelb, um eine Zunahme der Strahlung im Wasser darzustellen.
Histogramm von plotly.
ice¶
Die ice Colormap ist sequenziell von sehr dunkelblau (fast schwarz) zu sehr hellblau (fast weiß). Ein Anwendungsfall hierfür könnte die Darstellung von Meereis sein.
Ein Beispiel von Chad Greene, das die Meereiskonzentration rund um die Antarktis zeigt.
gray¶
Die gray Colormap ist sequenziell von schwarz nach weiß, mit gleichmäßigen Schritten durch den wahrnehmungsphysikalischen Farbraum. Diese Colormap ist generisch und kann für beliebige sequentielle Datensätze verwendet werden.
import cmocean
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(8, 3))
ax = fig.add_subplot(1, 2, 1)
cmocean.plots.test(cmocean.cm.gray, ax=ax)
ax = fig.add_subplot(1, 2, 2)
cmocean.plots.quick_plot(cmocean.cm.gray, ax=ax)
(Quellcode, png, hires.png, pdf)
oxy¶
Die oxy Colormap ist größtenteils sequenziell und repräsentiert den normalen Bereich der Sauerstoffsättigung im Meerwasser. Sie divergiert zu 80 % der Colormap, um einen Zustand der Übersättigung darzustellen. Die unteren 20 % der Colormap sind rötlich gefärbt, um hypoxisches oder sauerstoffarmes Wasser hervorzuheben, aber dennoch relativ nahtlos in Graustufen zu drucken, falls der rote Farbton für eine Anwendung nicht wichtig ist. Die oberen 20 % der Colormap nach der Divergenz sind gelb gefärbt, um das übersättigte Wasser hervorzuheben. Die Minimal- und Maximalwerte dieser Colormap sollen kontrolliert werden, um die Zustände niedrigen und übersättigten Sauerstoffs richtig zu platzieren. Diese Colormap wurde für das Mississippi-Flussplume-Gebiet entwickelt, wo sowohl niedrige als auch übersättigte Bedingungen regelmäßig beobachtet und überwacht werden.
Modellausgabe im nordwestlichen Golf von Mexiko von der Physical Oceanography Numerical Group (PONG) an der Texas A&M. Eine Simulation von Bodensauerstoff unter Verwendung einer einfachen Parametrisierung der Bodensauerstoffnutzung zeigt die komplexe Struktur des Bodensauerstoffs. Während sich die von Hypoxie betroffene Fläche fast 400 km entlang des Schelfs erstreckt, ist auch eine Variabilität auf viel kleineren Skalen bis zu wenigen Kilometern erkennbar. Die Position des Mississippi/Atchafalaya-Flussplumes und die im Plume vorhandenen Instabilitäten bestimmen das Ausmaß und die Struktur des hypoxischen Bodenwassers. Von Veronica Ruiz an der Texas A&M.
Sauerstoffdiagramm von CTD-Daten für den oberen Ozean; erstellt von Luz Zarate Jimenez.
deep¶
Die deep Colormap ist sequenziell von hellgelb, um flacheres Wasser darzustellen, über blassgrün zu zunehmend dunkelblau und lila, um zunehmende Tiefe darzustellen.
Bathymetriediagramm, von Iury Sousa
Somov Sea Bathymetrie, von Josué Martinez Moreno, in blender
Gwyther, D. E., O’Kane, T. J., Galton-Fenzi, B. K., Monselesan, D. P., & Greenbaum, J. S. (2018). Intrinsic processes drive variability in basal melting of the Totten Glacier Ice Shelf. Nature communications, 9(1), 3141.
dense¶
Die dense Colormap ist sequenziell mit weißlich-blau für niedrige Werte und zunehmend lila mit steigendem Wert, was zur Darstellung einer Zunahme der Wasserdichte verwendet werden könnte. Zwei Beispiele dieser Colormap sind unten dargestellt, von Glidern der Texas A&M University. Diese Colormap basiert auf Matplotlibs Purples, wurde aber mit dem viscm-Tool von Grund auf neu erstellt.
Potentialdichte-Diagramm von CTD-Daten für den oberen Ozean; erstellt von Luz Zarate Jimenez.
algae¶
Die algae Colormap ist sequenziell mit weißlich-grün für niedrige Werte und zunehmend grün mit steigendem Wert, was zur Darstellung einer Zunahme des Chlorophylls im Wasser verwendet werden könnte. Zwei Beispiele dieser Colormap sind unten dargestellt, von Glidern der Texas A&M University. Diese Colormap basiert auf Matplotlibs Greens, wurde aber mit dem viscm-Tool von Grund auf neu erstellt.
matter¶
Die matter Colormap ist sequenziell mit weißlich-gelb für niedrige Werte und zunehmend rosa mit steigendem Wert, und könnte zur Darstellung einer Zunahme von Material im Wasser verwendet werden. Zwei Beispiele dieser Colormap sind unten dargestellt, von Glidern der Texas A&M University.
turbid¶
Die turbid Colormap ist sequenziell von hellbraun bis dunkelbraun und könnte zur Darstellung einer Zunahme von Sedimenten im Wasser verwendet werden.
Daten von Queensland, von Emilia P. (@mathinpython).
speed¶
Die speed Colormap ist sequenziell von hellgrünlich-gelb, das niedrige Werte repräsentiert, zu dunkelgelb-grün, das große Werte repräsentiert. Diese Colormap ist die positive Hälfte der delta Colormap. Ein Beispiel für diese Colormap stammt aus einer numerischen Simulation des Texas- und Louisiana-Schelfs.
amp¶
Die amp Colormap ist sequenziell von weißlich bis dunkelrot und könnte zur Darstellung einer Zunahme von Wellenhöhenwerten verwendet werden. Diese Colormap ist die positive Hälfte der balance Colormap.
Erdbebenmagnitude, von Natalie Accardo mit GMT.
Baumgartner, B. L., O’Laughlin, R., Jin, M., Tsimring, L. S., Hao, N., & Hasty, J. (2018). Flavin-based metabolic cycles are integral features of growth and division in single yeast cells. Scientific reports, 8(1), 18045.
Lenhart, H. J., & Große, F. (2018). Assessing the effects of WFD nutrient reductions within an OSPAR frame using trans-boundary nutrient modeling. Frontiers in Marine Science, 5, 447.
Grunert, B. K., Brunner, S. L., Hamidi, S. A., Bravo, H. R., & Klump, J. V. (2018). Quantifying the influence of cold water intrusions in a shallow, coastal system across contrasting years: Green Bay, Lake Michigan. Journal of Great Lakes Research, 44(5), 851-863.
tempo¶
Die tempo Colormap ist sequenziell von weißlich bis dunkel-petrol und könnte zur Darstellung einer Zunahme von Wellenperiodenwerten verwendet werden. Diese Colormap ist die negative Hälfte der curl Colormap.
rain¶
Die rain Colormap ist sequenziell von hellen, trockenen Farben zu blauen, nassen Farben und könnte zur Darstellung von Niederschlagsmengen verwendet werden.
phase¶
Die phase Colormap ist zirkulär und umfasst alle Farbtöne bei einem festen Helligkeitswert. Diese Karte ist für Eigenschaften wie Wellenphase und Gezeitenphase gedacht, die von 0° bis 360° und wieder zu 0° verlaufen und ohne größere wahrnehmungsmäßige Sprünge in der Colormap dargestellt werden sollten.
Gezeitenphase im Nordatlantik, von Kristen Thyng.
topo¶
Die topo Colormap hat zwei unterschiedliche Teile: einen, der aus Blautönen und Gelb besteht, um Wassertiefen darzustellen (dies ist die deep Colormap), und einen, der aus Brauntönen und Grüntönen besteht, um Landeshöhen darzustellen.
balance¶
Die balance Colormap ist divergent, mit dunkelblau über cremeweiß bis dunkelrot, was negative zu Null zu positive Werte darstellt; dies könnte zur Darstellung des Meeresspiegelstands verwendet werden, wobei Abweichungen im Oberflächenniveau als Farbabstufungen vom neutralen Cremeweiß dargestellt werden. In diesem Fall wurden Rottöne gewählt, um den Meeresspiegel über dem Referenzwert (oft Mittelmeeresspiegel) darzustellen, um eine Verbindung zu wärmerem Wasser herzustellen, das typischerweise mit einer Erhöhung der freien Oberfläche assoziiert wird, wie z. B. beim Loop Current im Golf von Mexiko. Ein Beispiel für diese Colormap stammt aus einer numerischen Simulation des Texas- und Louisiana-Schelfs. Diese Colormap basiert auf Matplotlibs RdBu, wurde aber mit dem viscm-Tool von Grund auf neu erstellt.
Spatial Temporal Oceanographic Query System (STOQS)
delta¶
Die delta Colormap divergiert von dunkleren Blautönen zu fast cremeweiß über Gelbgrün und könnte zur Darstellung divergierender Geschwindigkeitswerte um einen kritischen Wert (normalerweise Null) verwendet werden. Diese Colormap wurde von Francesca Samsels ähnlicher Colormap inspiriert, aber mit dem viscm-Tool von Grund auf neu generiert.
curl¶
Die curl Colormap divergiert von dunkleren Petroltönen zu fast cremeweiß über Magentatöne und könnte zur Darstellung divergierender Vorticity-Werte um einen kritischen Wert (normalerweise Null) verwendet werden.
diff¶
Die diff Colormap ist divergent, mit einer Seite Blautönen und einer Seite Brauntönen.
tarn¶
Die tarn Colormap ist divergent, mit einer Seite trockenen Brauntönen und der anderen einer Reihe von Grün- und Blautönen. Das positive Ende der Colormap soll die Farben von rain widerspiegeln und somit eine komplementäre Colormap zu rain für Regenanomalien (um 0 oder einen anderen kritischen Wert) sein.
Ressourcen¶
Hier sind einige meiner Lieblingsressourcen.
cmocean auch anderswo verfügbar!¶
- Für MATLAB von Chad Greene
- Für R: Oce ozeanografisches Analysepaket von Dan Kelley und Clark Richards
- Für Ocean Data Viewer
- Für Generic Mapping Tools (GMT) bei cpt-city und auf github
- Für Paraview, inspiriert von Phillip Wolfram.
- In Plotly
- Chad Greenes Antarctic Mapping Tools in Matlab verwendet cmocean
- Für Tableau als Präferenzdatei auf github
- Für ImageJ als Präferenzdatei auf LUTs
- In iGOTM, das eine Wassersäule überall auf der Welt simuliert.
- cmocean Colormaps sind in den folgenden Paketen enthalten
Beispiele für schöne Visualisierungen:¶
- Erde Wind/Strömungen/Temperatur/Alles Visualisierung: Dies ist eine wunderbare Visualisierung weltweiter Wind- und Meeresdynamik und -eigenschaften. Sie ist auch hervorragend zum Lehren geeignet, scheint sich ständig weiterzuentwickeln und neue Felder als Plotting-Optionen zu erhalten.
- Diese Herbstlaubkarte ist einfach zu bedienen, klar und auffällig. Das ist es, was wir alle anstreben!
- Eine clevere Visualisierung von The Upshot über politische Neigung in Abhängigkeit vom Geburtsjahr. Dies ist eine perfekte Anwendung der divergierenden Rot-zu-Blau-Colormap.
Warum Jet eine schlechte Colormap ist und wie man bessere auswählt:¶
- Dies ist der Artikel, der für mich alles begann: Why Should Engineers and Scientists Be Worried About Color?
- Eine ausgezeichnete Serie über Jet und die Auswahl von Colormaps, die Ihnen wirklich vermitteln wird, was Sie wissen müssen, von Matteo Niccoli
- Schöne Zusammenfassung der Argumente gegen Jet von Jake Vanderplas
- Eine gute Zusammenfassung im Bulletin of the American Meteorological Society (BAMS) über Visualisierungsforschung und die Präsentation eines Tools zur Auswahl guter Colormaps, gerichtet an die atmosphärische Forschung, aber weitgehend anwendbar.
- Dieses Tool konvertiert Ihr (kleines Dateigrößen-)Bild so, dass es für Menschen mit verschiedenen Arten von Farbblindheit aussieht, damit Sie bessere Entscheidungen über die verwendeten Farben treffen können.
- Dokumentation von der Website des matplotlib Plotting-Pakets zur Auswahl von Colormaps.
- Tipps zur Auswahl einer guten wissenschaftlichen Colormap
- Das Ende des Regenbogens, ein Plädoyer, die Verwendung von Jet einzustellen.
- Forschung zeigt, dass Jet schlecht für Ihre Gesundheit ist!
- Neubewertung einer früheren Studie scheint visuelle Beweise zu zeigen, die darauf hindeuten, dass eine Front tatsächlich nur ein Artefakt der Jet-Colormap ist.
Es gibt eine Reihe von Vorträgen von der SciPy-Konferenz von 2014 und 2015, die sich mit Colormaps befassen
- Damon McDougall stellt das Problem mit Jet zur Darstellung von Daten vor.
- Kristen Thyng folgt mit der Frage, wie man bessere Colormaps auswählt, einschließlich der Verwendung von wahrnehmungsmäßig einheitlichen Colormaps und der Überlegung, ob die dargestellten Informationen sequenzieller oder divergierender Natur sind.
- Nathaniel Smith und Stéfan van der Walt erklären mehr über die schlechte Jet-Colormap, sogar schlecht für die Gesundheit! Sie schlagen dann eine neue Colormap für matplotlib vor, eine Python-Plot-Bibliothek.
- Kristen Thyng baut auf der Arbeit von Nathaniel und Stéfan auf und schlägt Colormaps zur Darstellung typischer ozeanografischer Mengen vor (was zu cmocean! führte).
Weitere Tipps zum Erstellen guter Grafiken:¶
- Dieser Link enthält eine Reihe von Tipps zur Auswahl von Linienfarben, Colormaps und zur Verwendung von diskreten vs. kontinuierlichen Colormaps.
- How to graph badly or what not to do enthält Tipps, insbesondere für Linien- und Balkendiagramme, und eine Zusammenfassung einiger Tipps des Design-Gurus Edward Tufte.
Kontakt¶
Kristen Thyng ist die Hauptentwicklerin von cmocean. Bitte senden Sie mir Fragen, Kommentare und Ideen per E-Mail. Ich sammle Beispiele für die Verwendung der Colormaps in Aktion (siehe oben) sowie Benutzer der Colormaps, daher würde ich mich freuen, von Ihnen zu hören, wenn Sie cmocean verwenden. kthyng at gmail.com oder auf Twitter @thyngkm.






















