Tavolozza dei colori qualitativa - fotocopia sicura (pronta per la scala di grigi)


12

Sto cercando una tavolozza di colori qualitativa di 5 classi che può essere stampata con stampanti in bianco e nero.

L'immagine sotto mostra una mappa a colori (in alto: qualitativa, in basso: divergente) e il modo in cui ciascuno appare in scala di grigi (lato destro). Entrambe le tavolozze dei colori ( Set3e Spectral) appartengono a ColorBrewer .

  1. [UL] Qualitativo Set3
  2. [UR] Qualitativo Set3 in scala di grigi
  3. [LL] Divergente Spectral
  4. [LR] Divergente Spectralin scala di grigi

inserisci qui la descrizione dell'immagine

Soffro soprattutto di discernere i gruppi nell'immagine in alto a destra, mentre il fondo (spettrale) è molto meglio, se non perfetto (non posso dire quale fosse blu o rosso). E secondo ColorBrewer la combinazione di colori Spectral (quella che ho usato qui) è l'unica photocopy safeper la palette di 5 classi.

Ridurre le classi (a 3 o 4) può essere un'opzione, ma temo che non fosse lo scopo previsto di questa mappa.

Questo probabilmente non è correlato ai software GIS, ma fondamentalmente uso QGIS che offre ColorBrewer, cpt-city e altre palette e rampe di colore.


@obrl_soil ha suggerito che questo è il set di colori Viridis

inserisci qui la descrizione dell'immagine


@underdark ha suggerito che si tratta di due tipi di 4 colors + whiteapproccio.

inserisci qui la descrizione dell'immagine

SINISTRA: Arancione-Rosso + bianco (sequenziale), DESTRA: Viola-Arancio + bianco (divergente)


Hai già trovato una buona risposta, ma vorrei presentarti a colorbrewer2.org che ti consente di generare combinazioni di colori gradevoli
LaughU

@LaughU In realtà è un sito web a cui mi riferivo ... scusate se non è stato chiaramente menzionato. Ma grazie, è davvero un'ottima risorsa, sono d'accordo.
Kazuhito,

Risposte:



10

Come suggerisce ColorBrewer, solo la combinazione di colori spettrali di 5 classi è "sicura" per l'uso della fotocopiatrice (ovvero scala di grigi). La soluzione più semplice è utilizzare un altro modo per distinguere le classi come il tratteggio.

In QGIS è semplice scegliere 5 diversi tratteggi in una classificazione cambiando il pennello di riempimento.

inserisci qui la descrizione dell'immagine

O usando un riempimento a punti con diverse distanze:inserisci qui la descrizione dell'immagine


1
Grazie @iant, ma dovrei prenderlo (voglio dire, ColorBrewer) implica che non c'è modo di produrre combinazioni di colori di classe 5 diverse da quel particolare set? In tal caso, non ho problemi ad andare alla schiusa.
Kazuhito,

7

Colorbrewer 2.0 ci dice sostanzialmente che non esiste una combinazione di colori "fotocopia sicura" con 5 colori, quindi ecco la soluzione a 4 colori:

inserisci qui la descrizione dell'immagine

Naturalmente, non considera il "bianco" come un potenziale 5 ° colore, quindi questa soluzione potrebbe essere ancora sufficiente per la tua applicazione.


1
Bello. Aggiungere bianco è un'idea geniale che non mi è mai venuta in mente (ero quasi pronto a rinunciare a ColorBrewer). Grazie!
Kazuhito,

4

Ho avuto lo stesso problema. Avevo bisogno di 8 lezioni. Ho creato una soluzione alternativa che ti consente almeno di rendere le categorie il più distinguibile possibile. Aumenta la distanza tra i valori di saturazione di ciascun colore che vengono creati dal colorbrewer per impostazione predefinita. Con questo ottieni le categorie più distinguibili nella stampa in b / n. Le due trame cambiano solo leggermente come puoi vedere sotto ma in bw può fare la differenza.

È necessario conoscere R per utilizzare lo script:

library("ggplot2")
library("colorspace")
library("RColorBrewer")


# display all color scales with n=8
display.brewer.all(n = 8,type = "div")
# choose a brewer
brewer.pal(8,"Spectral")
# transform palette to HSV values
(palette.HSV<-as(hex2RGB(brewer.pal(8,"Spectral")), "HSV")) 

# plot
plot(1:8,1:8,pch=21,bg=hex(palette.HSV),col=hex(palette.HSV),cex=5)

# sort and get indices of HSV values
sort(palette.HSV@coords[,2],index.return=TRUE)

# calculate steps for distance
9/8 # 8 classes until 0.9 saturation

# change accordingly
palette.HSV@coords[1,2]<-0.7875 # swapped with second
palette.HSV@coords[2,2]<-0.675
palette.HSV@coords[3,2]<-0.5625
palette.HSV@coords[4,2]<-0.3375
palette.HSV@coords[5,2]<-0.225
palette.HSV@coords[6,2]<-0.1125
palette.HSV@coords[7,2]<-0.45
palette.HSV@coords[8,2]<-0.9

plot(1:8,1:8,pch=21,bg=hex(palette.HSV),col=hex(palette.HSV),cex=5)

# save your costum colorscale
my.scale<-hex(palette.HSV)

valori modificati valori modificati

valori originali inserisci qui la descrizione dell'immagine

modifica: se vuoi anche cambiare la luminosità (vedi la discussione sotto) usa il seguente codice:

# change brightness accordingly (reverse order)
palette.HSV@coords[1,3]<- 0.225
palette.HSV@coords[2,3]<-0.4
palette.HSV@coords[3,3]<-0.5625
palette.HSV@coords[4,3]<-0.9
palette.HSV@coords[5,3]<-0.7875
palette.HSV@coords[6,3]<-0.675
palette.HSV@coords[7,3]<-0.3
palette.HSV@coords[8,3]<-0.1125

1
Grazie @joaoal! Ti dispiace aggiungere la rappresentazione in scala di grigi per ogni immagine? La mia breve prova sul tuo codice ha prodotto immagini quasi identiche (per i miei occhi non allenati) quando si sono trasformate in scala di grigi a 8 bit.
Kazuhito,

1
@Kazuhito non sono sicuro di come farlo in R. Nella stampa in bianco e nero la mia soluzione è chiaramente un po 'meglio di quella predefinita, tuttavia, come ho scritto sopra, è difficile fare delle differenze davvero buone se usi 8 classi. nel tuo caso con 5 classi potrebbe essere migliore. Oltre a migliorare la scala dei colori, potresti anche prendere in considerazione l'aggiunta di simboli alla tua mappa al centro di ogni poligono in cui ciascun simbolo univoco rappresenta una categoria diversa oppure puoi utilizzare stili di riempimento diversi, ad esempio motivi a linee. la mia soluzione era per i dati raster in cui non si può fare una cosa del genere.
Joaoal,

2
+1 @joaoal Grazie per le informazioni aggiuntive. Solo un pensiero, ma che ne dici di cambiare palette.HSV@coords[x,3]quale corrispondente a Valore (o Luminosità) nello spazio colore HSV? (Hai lavorato su Saturazione). Il mio test rapido ha coords[ ,3]prodotto più contrasto ma non sono sicuro nel tuo ambiente.
Kazuhito,

2
@Kazuhito L'ho provato per il mio esempio e non ho prodotto risultati migliori cambiando solo la luminosità. In teoria la saturazione è direttamente collegata al grigio dove 0 è bianco e 1 è nero nella stampa bw / o il colore pieno, ad esempio "rosso" nella stampa a colori. La luminosità influisce anche sul grigio nella stampa, ma in qualche modo la gamma è limitata poiché cambia il colore tra il colore pieno, ad esempio "rosso" e "nero". Una combinazione di entrambi potrebbe essere un'opzione e ho aggiunto un po 'di codice sopra per spiegarlo. Ho avuto l'impressione che migliora solo la differenza nei colori più chiari, ma peggiora quelli più scuri.
joaoal,

Grazie, buono a sapersi. Concordo anche sul fatto che non dovremmo dedicare troppo valore.
Kazuhito,
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.