Perché usare colormap viridis su jet?


28

Come annunciato in https://www.youtube.com/watch?v=xAoljeRJ3lU , Matplotlib cambia la mappa di colori predefinita da jet a viridis.

Tuttavia, non lo capisco abbastanza bene. Forse perché sono daltonico?

L'originale colormap jet sembra molto forte, posso sentire il contrasto:

inserisci qui la descrizione dell'immagine

Mentre la nuova colormap viridis non ha questo contrasto:

inserisci qui la descrizione dell'immagine

Qualcuno può spiegarmelo, per favore? Ho bisogno della trama per il mio documento. E ho bisogno di una buona ragione per convincere il mio supervisore (e me stesso) che il viridis è migliore.


2
Si noti che Matlab è recentemente passato dal jet alla parula (come discusso nel video collegato).
ameba dice Reinstate Monica il

+1 al commento di @amoeba. Dal R2014b MATLAB utilizza la mappa colori della parula . Uno dei motivi principali era che il jet era piuttosto non informativo per gli utenti maschi daltonici e il passaggio a parula era motivato da questo. Il daltonismo maschile è comunemente circa il 7-8% in alcune popolazioni del Nord Europa.
usεr11852 dice Reinstate Monic il

1
Usa magma, plasma o inferno quindi ... non sei obbligato a usare il default e IMHO gli altri tre sono "più forti". Viridis è stato scelto come predefinito perché "il valore predefinito deve avere il verde". Se lo desideri, in MATLAB puoi ottenerli qui . Disclaimer: la presentazione FEX è mia.
Ander Biguri,

3
Abbiamo anche creato uno strumento che ti aiuta ad analizzare le diverse colormap rispetto all'uniformità percettiva, alla linearità della mappatura in scala di grigi e all'idoneità per gli spettatori daltonici. Vedi bids.github.io/colormap e github.com/matplotlib/viscm Abbiamo un ramo in sviluppo per la progettazione di mappe di colore bidirezionali.
Stefan van der Walt,

Risposte:


34

Vedere questo il video . Puoi anche cercarlo su Google perché ci sono molti (ragionevoli) jet-bashing ovunque.

Jet è molto piacevole perché è appariscente, colorato e non richiede di pensare alla scala dei colori: anche se hai solo alcuni valori anomali, ottieni comunque "tutte le caratteristiche" nella trama. L'hai detto tu stesso: il jet non manca quasi mai di contrasto.

Tuttavia, questo ha un prezzo molto alto: jet mostra letteralmente cose che non esistono . Si crea contrasto dal nulla: basta cambiare la vostra scala di colori un po 'di jet e si dovrebbe vedere che il quadro è cambiare radicalmente. Fai la stessa cosa in viridis e avrai semplicemente l'impressione di dare più o meno luce alla stessa identica cosa.

Se non ti piacciono i viridi, usa le altre mappe di colore che sono state discusse nel video sopra: hanno le stesse belle proprietà e non faranno mentire i tuoi dati. Cambia anche la scala dei colori: a partire da 0, anche se è logico da un punto di vista scientifico, potrebbe non essere una buona idea rappresentare questi dati specifici (ma cambia la tua barra dei colori per riflettere ciò, ad esempio "<25").

Ma ancora una volta, guarda il video, ci sono molti esempi e spiegazioni complete.


1
Capito, in realtà ricolleghi il video che ho pubblicato. Lo guardo di nuovo. E quando all'inizio, dà l'esempio di Monna Lisa. All'improvviso capisco. jetevidenziare il contrasto che non esiste, ad esempio la fronte di Monna Lisa.
cqcn1991,

6
Sì, esattamente: il jet in genere enfatizza eccessivamente il giallo e il ciano. A seconda della scala dei colori, "vedrai" cose diverse. In colormap simili a veridis, se non vedi qualcosa che vedevi in ​​jet allora significa che la cosa che stai cercando è trascurabile rispetto al resto: questo è lo scopo di una mappa del colore, per dare al nostro cervello una stima del significato relativo di ciascun pixel. :) (e sì, hai citato il video, ma contiene davvero dei buoni esempi e mi chiedevo di averlo già visto o di averlo appena citato per presentare i veridis)
JohnW,

E ci sono stati esempi di articoli che inseguivano spiegazioni di strani effetti che erano solo artefatti del jet. Proverò a scavarne un po '.
Davidmh,

Devo anche aggiungere che le prestazioni di Virdis variano in base a schermate diverse. Ho un vecchio laptop e un nuovo hackintosh desktop. Il virdis del desktop hackintosh sembra molto migliore e più chiaro del laptop.
cqcn1991,

2
Quindi, c'è questo esempio . Sfortunatamente, il riferimento originale è nel blogandonmatlab, che ora è privato. Tutti i blog che ho trovato citano il blog, ma non il giornale. Se qualcuno lo trova, sarò molto contento.
Davidmh,

12

Hai bisogno della trama perché devi mostrare i dati e hai bisogno di una mappa dei colori perché sai che il colore che mostri non sarà visto allo stesso modo da tutte le persone: qualsiasi colore è un'interpretazione attraverso la nostra percezione visiva.

In effetti, i colori sono soggettivi nel senso che sono interpretati dal cervello (nel senso che uno spettro si trasforma in un'attività neurale) in diversi livelli di valenza (o valore) in funzione della barra dei colori data accanto ad esso. I tuoi occhi faranno una serie costante di saccadi per abbinare la trama alla barra.

Il JET deve essere bandito perché è percettivamente ambiguo. Una prima caratteristica dei colori nella percezione visiva è il suo valore, ovvero la luminosità totale, che funge da caratteristica più diretta. Tuttavia, questo valore non è monotonico in JET, in modo tale che UN valore in luminosità può indurre valori diversi nella percezione. Ciò è particolarmente vero per il tono blueiash - giallastro (e che il più delle volte quelli che corrispondono a valori zero) che "popolano" artificialmente da un'immagine. Controlla tali curve su: luminosità di diversi colori

Viridis (tra le altre alternative) è fatto per evitare questo problema. Puoi leggere questa descrizione completa per questa scelta e come adattare la tua mappa dei colori alla categoria di dati da tracciare.

Questo dovrebbe convincere il tuo supervisore.


7

Il problema con l'utilizzo di qualsiasi tipo di scala cromatica per rappresentare visivamente i dati ordinali è quello della monotonia della luminanza : vale a dire, se si dispone di dati che soddisfano un tipo di relazione di ordinamento, tale relazione dovrebbe essere riflessa non solo dai cambiamenti di tonalità, ma per luminanza. Il problema con la mappatura dei colori "jet" è che il punto più alto nella mappatura (corrispondente a valori più grandi) viene dato un colore rosso, l'intervallo medio viene dato un colore giallo-verde e il più basso è blu - ma se noi guarda la "luminosità" percepita (cioè la luminanza) di quei colori, è chiaro che questa mappatura non è monotona. L'altra mappatura dei colori nella tua domanda risolve questo difetto.

Il motivo di questa proprietà dovrebbe essere ovvio, non ultimo il fatto che se tali cifre sono riprodotte in scala di grigi, l'interpretazione non viene persa.


7

Ci sono già molte belle risposte qui, ma penso che sia ancora pertinente aggiungere un altro punto di vista, dall'eccellente articolo

Buone mappe dei colori: come progettarle. Peter Kovesi. arXiv: 1509.03700 (2015). Software disponibile qui .

che espone in modo molto chiaro i principi del design della mappa dei colori e fornisce uno strumento davvero utile per analizzarli per l'uniformità percettiva:

inserisci qui la descrizione dell'immagine

Questa trama 'washboard' ha una rampa costante da zero a una andando da sinistra a destra lungo il fondo, e la parte superiore della trama ha una modulazione sinusoidale di ampiezza uniforme. Per una mappa dei colori ben progettata, tutte le frange nella parte superiore dovrebbero mostrare un contrasto identico o almeno simile. Tuttavia, quando si mette jetalla prova, è immediatamente ovvio che non è così:

inserisci qui la descrizione dell'immagine

In altre parole, ci sono un sacco di frange, nel rosso e in particolare nel verde jet, che vengono completamente sfumate e diventano completamente invisibili, perché la mappa dei colori semplicemente non ha alcun contrasto lì. Quando lo applichi ai tuoi dati, il contrasto in quelle aree andrà allo stesso modo delle frange. Allo stesso modo, i netti contrasti lungo il fondo, su quella che dovrebbe essere una scala lineare regolare, rappresentano i luoghi in cui la mappa sta introducendo funzionalità che non sono realmente presenti nei dati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.