Schöne Colormaps für die Ozeanographie: cmocean¶
Dieses Paket enthält Colormaps für gängige ozeanographische Variablen. Die meisten Colormaps basierten auf matplotlib Colormaps, wurden aber nun mit dem viscm-Tool angepasst, um wahrnehmungsuniform 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 gewählt, um wahrnehmungsuniform zu sein und die Daten, die sie darstellen, in Bezug auf sequenziell, divergent oder zyklisch (Phasen-Colormap) widerzuspiegeln und intuitiv zu sein. Zum Beispiel ist die algae Colormap ein 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. Plots 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 druckbar ist, über die Colormap hinweg konsistente wahrnehmungsbezogene Deltas aufweist und für Menschen mit Farbenblindheit 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 plots-Submodul 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 geplottet 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 sind mit cmocean.cm.cmapnames abrufbar
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;
Drucken Sie alle verfügbaren Colormaps in Textdateien mit 256 RGB-Einträgen mit
cmaps = cmocean.cm.cmap_d
cmocean.tools.print_colormaps(cmaps)
Gibt ein Wörterbuch aus, um eine Colormap 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), gegeben das RGB-Eingabearray.
Umgekehrte Versionen aller Colormaps sind verfügbar, indem „_r“ an den Colormap-Namen 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 überlagern können, die besser sichtbar sind
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 mit den Daten 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 (oberste 20 % der Colormap) berücksichtigen, können Sie sie 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 Plot verwenden möchten, und die Funktion ermitteln lassen, wie viel von der Colormap abgeschnitten werden soll. Dies kann besonders nützlich sein, wenn Sie kombinierte Bathymetrie- und Topographiedaten (Meerestiefen und Landhö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 darstellt und sich über Rot bis Gelb erstreckt, was höhere, wärmere Werte darstellt.
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.
Temperaturplot von CTD-Daten für den oberen Ozean; erstellt von Luz Zarate Jimenez.
pH-Plot von Flaschen-Daten über die gesamte Wassertiefe, wobei die Punkte die Tiefen darstellen, in denen Flaschenwasser entnommen wurde; 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 vom 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 dunkelblau für geringere Salinität oder Süßwasser verwendet werden, die sich über Grün zu hellgelb für erhöhte Salinität oder salzigeres Wasser erstreckt. 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ätsplot von Flaschen-Daten über die gesamte Wassertiefe, wobei die Punkte die Tiefen darstellen, in denen Flaschenwasser entnommen wurde; erstellt von Luz Zarate Jimenez.
Salinitätsplot von CTD-Daten für den oberen Ozean; erstellt von Luz Zarate Jimenez.
Glider-Daten vom 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) bis sehr hellblau (fast weiß). Ein möglicher Anwendungsfall sind Darstellungen von Meereis.
Ein Beispiel von Chad Greene zeigt die Konzentration von Meereis rund um die Antarktis.
gray¶
Die gray Colormap ist sequenziell von schwarz zu weiß, mit gleichmäßigen Schritten durch den wahrnehmungsbezogenen Farbraum. Diese Colormap ist generisch und kann für alle sequenziellen 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 für den größten Teil der Colormap sequenziell und stellt den normalen Bereich der Sauerstoffsättigung im Meerwasser dar. Sie divergiert 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 mit niedrigem und übersättigtem Sauerstoff richtig zu positionieren. Diese Colormap wurde für die Mississippi-Flussplume-Region entwickelt, wo sowohl niedrige als auch übersättigte Bedingungen regelmäßig auftreten und überwacht werden.
Modellausgabe im nordwestlichen Golf von Mexiko von der Physical Oceanography Numerical Group (PONG) an der Texas A&M. Eine Simulation des Boden-Sauerstoffs unter Verwendung einer einfachen Parametrisierung der Boden-Sauerstoffverwertung offenbart die komplexe Struktur des Boden-Sauerstoffs. Während sich das von Hypoxie betroffene Gebiet fast 400 km entlang des Schelfs erstreckt, sind auch Variabilitäten auf viel kleineren Skalen, bis hin zu wenigen Kilometern, erkennbar. Die Position der Mississippi/Atchafalaya-Flussplume und Instabilitäten innerhalb der Plume bestimmen das Ausmaß und die Struktur der hypoxischen Bodenwässer. Von Veronica Ruiz an der Texas A&M.
Sauerstoffplot 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 blasses Grün bis hin zu zunehmend dunkelblau und lila, um zunehmende Tiefe darzustellen.
Bathymetrie-Plot, von Iury Sousa
Bathymetrie der Somow-See, 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 zunehmendem Wert, was zur Darstellung einer Zunahme der Wasserdichte verwendet werden könnte. Zwei Beispiele dieser Colormap sind unten zu sehen, von Texas A&M University Gliders. Diese Colormap basiert auf Matplotlibs Purples, wurde aber mit dem viscm-Tool von Grund auf neu erstellt.
Dichtepotenzial-Plot 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 zunehmendem Wert, was zur Darstellung einer Zunahme des Chlorophyllgehalts im Wasser verwendet werden könnte. Zwei Beispiele dieser Colormap sind unten zu sehen, von Texas A&M University Gliders. 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 zunehmendem Wert, und könnte zur Darstellung einer Zunahme von Material im Wasser verwendet werden. Zwei Beispiele dieser Colormap sind unten zu sehen, von Texas A&M University Gliders.
turbid¶
Die turbid Colormap ist sequenziell von hellbraun zu 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ün-gelb für niedrige Werte zu dunkelgelb-grün für große Werte. Diese Colormap ist die positive Hälfte der delta Colormap. Ein Beispiel für diese Colormap stammt aus einer numerischen Simulation der Texas- und Louisiana-Schelfe.
amp¶
Die amp Colormap ist sequenziell von weißlich zu 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 zu dunkelblaugrün 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 deckt alle Farbtöne bei einem festgelegten Helligkeitswert ab. Diese Karte soll für Eigenschaften wie Wellenphase und Gezeitenphase verwendet werden, die von 0˚ bis 360˚ bis 0˚ verlaufen und ohne größere wahrnehmungsbezogene Sprünge in der Colormap dargestellt werden sollten.
Gezeitenphase im Nordatlantik, von Kristen Thyng.
topo¶
Die topo Colormap hat zwei unterschiedliche Teile: einen, der blaue und gelbe Farbtöne zur Darstellung von Wassertiefen (dies ist die deep Colormap) aufweist, und einen, der braune und grüne Farbtöne zur Darstellung von Landhöhen aufweist.
balance¶
Die balance Colormap ist divergent mit dunkelblau bis cremeweiß bis dunkelrot, was negative bis null bis positive Werte darstellt; dies könnte zur Darstellung der Meeresoberflächenhöhe verwendet werden, mit Abweichungen in den Oberflächenhöhen als Farbtöne weg von neutralem Cremeweiß. In diesem Fall wurden Rottöne gewählt, um die Meeresoberflächenhöhe über dem Referenzwert (oft der mittlere Meeresspiegel) darzustellen, um an wärmeres Wasser anzuknüpfen, das typischerweise mit einer Erhöhung der freien Oberfläche verbunden ist, wie beim Loop Current im Golf von Mexiko. Ein Beispiel für diese Colormap stammt aus einer numerischen Simulation der Texas- und Louisiana-Schelfe. 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 über ein leicht cremefarbenes Weiß bis hin zu 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 dunklerem Blaugrün über ein leicht cremefarbenes Weiß bis hin zu Magenta und könnte zur Darstellung divergierender Wirbelwerte um einen kritischen Wert (normalerweise Null) verwendet werden.
diff¶
Die diff Colormap ist divergent, mit einer Seite blaue Farbtöne und einer Seite braune Farbtöne.
tarn¶
Die tarn Colormap ist divergent, mit einer Seite trockene Brauntöne und der andere eine Reihe von Grün- und Blautönen. Das positive Ende der Colormap soll die Farben in rain widerspiegeln und somit eine komplementäre Colormap zu rain für Regen-Anomalien (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 ozeanographisches 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 irgendwo 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 Ozeandynamiken und -eigenschaften. Sie ist auch hervorragend zum Lehren geeignet, scheint ständig weiterentwickelt zu werden und neue Felder als Plot-Optionen zu erhalten.
- Diese Herbstlaubkarte ist einfach zu bedienen, klar und auffällig. Sie ist das, was wir uns alle wünschen!
- Eine clevere Visualisierung von The Upshot über die 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 wählt:¶
- Dies ist der Artikel, der für mich alles begann: Why Should Engineers and Scientists Be Worried About Color?
- Eine ausgezeichnete Reihe über Jet und die Auswahl von Colormaps, die Ihnen wirklich das beibringen, was Sie wissen müssen, von Matteo Niccoli
- Schöne Zusammenfassung von Argumenten gegen Jet von Jake Vanderplas
- Eine gute Zusammenfassung in der Bulletin of the American Meteorological Society (BAMS) über Visualisierungsforschung und die Präsentation eines Tools zur Auswahl guter Colormaps, das auf atmosphärische Forschung abzielt, aber weitgehend anwendbar ist.
- Dieses Tool konvertiert Ihr (kleines Dateigrößen-)Bild in die Darstellung, wie es für jemanden mit verschiedenen Arten von Farbenblindheit aussehen würde, damit Sie bessere Entscheidungen über die verwendeten Farben treffen können.
- Dokumentation von der Matplotlib-Plotting-Paketseite zur Auswahl von Colormaps.
- Tipps zur Auswahl einer guten wissenschaftlichen Colormap
- Das Ende des Regenbogens, ein Plädoyer, Jet nicht mehr zu verwenden.
- Forschungsergebnisse zeigen, dass Jet schlecht für Ihre Gesundheit ist!
- Die erneute Untersuchung 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 2014 und 2015 über Colormaps
- Damon McDougall stellt das Problem mit Jet für die Darstellung von Daten vor.
- Kristen Thyng folgt mit der Frage, wie man bessere Colormaps wählt, einschließlich der Verwendung von wahrnehmungsuniformen Colormaps und der Berücksichtigung, ob die dargestellten Informationen sequenzieller oder divergierender Natur sind.
- Nathaniel Smith und Stéfan van der Walt erklären mehr darüber, dass die Jet-Colormap schlecht ist, sogar schlecht für Ihre Gesundheit! Sie legen daraufhin eine neue Colormap für Matplotlib, eine Python-Plotting-Bibliothek, vor.
- Kristen Thyng baut auf der Arbeit von Nathaniel und Stéfan auf und schlägt Colormaps vor, um typische ozeanographische Größen darzustellen (was zu cmocean führte!).
Weitere Tipps für die Erstellung guter Abbildungen:¶
- 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, wie die Colormaps in Aktion verwendet werden (siehe oben) und auch 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.






















