2011-08-31 8 views
29

Sto tracciando una serie di curve nello spazio x, y, dove ogni curva è identificata da un valore scalare z. Desidero mappare il valore z al colore per ogni linea, ma la maggior parte delle mappe colore/colori sono costruite con le immagini in mente (ad esempio su un backround bianco, la mappa dei colori in scala di grigi nasconde un estremo di z).Esiste una scala di colori migliore della mappa colori "arcobaleno"?

La mappa colori arcobaleno/spettrale/getto - che è il valore predefinito in molti programmi di stampa - è migliore, ma soffre di scarsa visibilità per le linee giallo/ciano su sfondi bianchi e scarso contrasto tra il blu/ciano/verde colori. Borland e Taylor discutere ulteriormente questo ed altri problemi con la mappa dei colori dell'arcobaleno:

Qualcuno può consigliare qualcosa di meglio? Alcuni aspetti che sto cercando:

  1. alta visibilità per tutti i colori su uno sfondo bianco
  2. intuitivo ordine percettivo (rosso-giallo-blu ha più senso di rosso-blu-giallo)
  3. Buono chromaticity contrasto tra i colori

Modifica/aggiornamento: secondo la richiesta del endolith, ecco una trama di esempio semplificato: sample plot with gray and jet colormaps La mappa colori "grigia" ei suoi parenti (che iniziano con il nero e finiscono con il bianco) sono progettati per le immagini, tuttavia quando vengono utilizzati per tracciare linee o punti su uno sfondo bianco, alcuni saranno difficili da vedere o invisibili. La mappa dei colori "jet" e i suoi parenti spettrali in genere hanno anche un colore giallo, verde o di altro colore che è difficile vedere su uno sfondo bianco.

+1

È possibile includere un'immagine della trama che si sta tentando di realizzare? Sto immaginando qualcosa di simile a http://matplotlib.org/examples/pylab_examples/contour_demo.html o http://matplotlib.org/examples/mplot3d/contour3d_demo.html – endolith

+1

@endolith ha incluso un appezzamento di campioni come da tua raccomandazione. – ryggyr

+0

Simile: http://stackoverflow.com/q/13968520/125507 – endolith

risposta

8

Ecco la soluzione che alla fine ho usato:

Kindlmann et al identificati diversi colori isoluminant sulla base di una corrispondenza di luminanza faccia-based studio (disponibile come html talk o pdf paper).Il colors and RGB triples they found sono come segue:

  1. rosso (0.847, 0.057, 0.057)
  2. giallo (0,527, 0,527, 0)
  3. verde (0, 0,592, 0)
  4. ciano (0, 0,559 , 0,559)
  5. blu (0.316, 0.316, 0.991)
  6. magenta (0,718, 0, 0,718)

interpolazione lineare tra questi punti crea una colormap modificata "arcobaleno isoluminante" che fornisce un contrasto migliore con uno sfondo bianco rispetto alla tipica mappa dell'arcobaleno utilizzando il giallo e il ciano completamente saturi. In alcuni casi, utilizzo solo un sottoinsieme di questi punti per interpolare la mappa dei colori (ad esempio facendo cadere il verde o il ciano).

enter image description here

+2

Mi piace questa idea, ma in questa forma direi che fallisce il tuo punto # 2. Come dice 'edallme', le mappe arcobaleno multicolore non sono discriminate bene dallo spettatore. Penso che sia necessario attenersi a solo due o tre di questi colori affinché una determinata mappatura del colore sia intuitiva. – weymouth

+0

@weymouth Penso che # 2 (l'ordinamento percettivo intuitivo) sia soddisfatto da questo ordine. Vuoi dire # 3 (buon contrasto cromatico tra i colori)? Non sono sicuro che sarebbe più facile determinare il valore z se interpolando tra 2-3 colori rispetto a 5-6, ma forse hai ragione. – ryggyr

+0

Penso che tu abbia trovato una serie di colori che contrastano molto bene. Sto dicendo che gli studi hanno dimostrato che le persone non ottengono intuitivamente arcobaleni. Capovolgere mentalmente una mappatura da un singolo valore (z) attraverso un arcobaleno di colori (R-> O-> Y-> G-> B-> I-> V) è difficile. Quindi le persone avranno bisogno di fare continuamente riferimento alla tua leggenda. Mappare mentalmente un singolo gradiente (ad esempio R-> B) su z è molto più semplice. – weymouth

9

Vorrei utilizzare Color Brewer per la scelta dei colori. Offre varie tavolozze di colori per le mappe a seconda di quali sono le tue esigenze. Le stesse tavolozze possono essere utilizzate per altre visualizzazioni.

Modifica: Di seguito sono riportate altre risorse, ma i colori sequenziali consigliati partono da un colore più chiaro che è ciò che hai indicato nel tuo commento. Un'altra opzione è copiare semplicemente ciò che fanno gli altri. Ad esempio, i colori utilizzati in Many Eyes probabilmente funzionerebbero.

+4

Tutti gli schemi cromatici "sequenziali" di Color Brewer partono dal bianco o quasi bianco, e gli schemi di colori "divergenti" hanno bianco o quasi bianco nel mezzo, entrambi non funzioneranno per tracciare linee su bianco bg. Gli schemi di colori "qualitativi" non si applicano direttamente ai dati sequenziali, ma forse sarebbe sufficiente interpolare tra una selezione dei loro colori suggeriti. – ryggyr

-1

ho questo problema per tutto il tempo. Quello che di solito faccio è prendere uno schema sequenziale a due colori e tagliare la porzione di saturazione eccessivamente bassa. Questo funziona finché ci sono solo poche righe. Tuttavia, non amo questo metodo e mi piacerebbe sentire un suggerimento migliore ...

12

Perceptually improved colormaps ha diverse varianti di mappe di colori dell'arcobaleno con luminanza costante o luminanza che aumenta in modo monotono, con alcuni documenti in The rainbow is dead…long live the rainbow!:

Perceptually improved demo

Dave Green's `cubehelix' colour scheme è una mappa di colori arcobaleno " inteso per essere percepito come crescente di intensità .. dal nero al bianco, de allontanandosi da una pura scala di grigi (ad es. la diagonale dal nero al bianco in un cubo di colore) utilizzando un'elica rastremata nel cubo di colore, assicurando un aumento continuo dell'intensità percepita. "Potresti tagliare l'estremità bianca per renderlo adatto a uno sfondo bianco

enter image description here

CMRmap.m "abbiamo messo a punto una mappa di colori che conserva i colori, ma mescola i componenti di colore in modo che il rendering in bianco e nero della mappa di colori produce una rappresentazione in scala di grigi che è monotona con intensità". Anche in questo caso, si avrebbe dovuto tagliare il lato bianco:

CMRmap demo

+2

Grazie endolith. Ero a conoscenza della mappa dei colori di cubehelix, ma se usata per colorare linee su uno sfondo bianco, risentirebbe di linee invisibili su una estremità della scala, proprio come la mappa di colori in scala di grigi. – ryggyr

+0

@ryggyr: Sì, ma puoi tagliare la parte bianca. Vuoi una mappa dei colori che vada dal buio alla luce, ma avranno tutti questo problema. – endolith

+1

@ryggyr: aspetta un secondo. Tu * non * vuoi una mappa dei colori che vada dal buio alla luce. Vuoi solo colori scuri. Ho avuto un'idea molto diversa di quello che volevi quando ho risposto a questo. – endolith

8

Le mappe a colori arcobaleno/categoriali si sono dimostrate sostanzialmente peggiori di quelle divergenti per i compiti quantitativi. Vedere questo articolo recente da InfoVis '11:

  • Michelle Borkin, Krzysztof Gajos, Amanda Peters, Dimitrios Mitsouras, Simone Melchionna, Frank Rybicki, Charles Feldman, e Hanspeter Pfister. 2011. Valutazione delle visualizzazioni dell'arteria per la diagnosi delle malattie cardiache. Transazioni IEEE su visualizzazione e computer grafica 17, 12 (dicembre 2011), 2479-2488. DOI=10.1109/TVCG.2011.192Link to PDF, Slides, and Images.

Se avete bisogno di una scala categorica, controlla questo eccellente documento da CHI '12 che utilizza l'indagine dataset XKCD che parla di come noi percepiamo differenze di colore. Ti consente di valutare una scala cromatica in base al modo in cui l'uomo percepisce le differenze. Il loro Color Palette Analyzer basato sul web ti consente di valutare anche la tua scala di colori!

  • Jeffrey Heer e Maureen Stone. 2012. Modelli di denominazione dei colori per la selezione dei colori, la modifica delle immagini e il design delle palette. In Atti della conferenza SIGCHI sui fattori umani nei sistemi informatici (CHI '12). ACM, New York, NY, USA, 1007-1016. DOI=10.1145/2207676.2208547Link to PDF, online demos, etc.

Color Palette analysis example

+2

Grazie edallme. Il problema con la maggior parte delle mappe a colori divergenti è che tendono ad avere colori bianchi o chiari nel mezzo o alle estremità, che stavo cercando di evitare. Anche la scala categorica non è esattamente ciò di cui ho bisogno, dal momento che sto cercando di visualizzare alcune informazioni quantitative con il colore della linea. Forse una scala di colori quantitativa costruita con colori definiti da Heer e Stone sarebbe soddisfacente. – ryggyr

1

Una buona risorsa che ho trovato sono le note di Paul Tol, trovate qui: http://www.sron.nl/~pault/

Nel sito si possono trovare alcune buone tavolozze di colori per il tracciato non ordinate, set di dati distinti così come le mappe dei colori divergenti e arcobaleno per i dati ordinati.

"Per rendere il grafico con i risultati scientifici più chiaro possibile, è comodo avere una tavolozza di colori che sono:

  • distinta per tutte le persone, compresi i lettori daltonici;
  • distinto dal bianco e nero;
  • distinti su schermo e su carta;
  • corrispondono ancora bene. "