Palet Warna Kualitatif - brankas fotokopi (siap untuk skala abu-abu)

12

Saya mencari palet warna kualitatif 5-kelas yang dapat dicetak dalam printer hitam putih.

Gambar di bawah ini menunjukkan peta berwarna (atas: kualitatif, bawah: diverging) dan bagaimana masing-masing terlihat dalam skala abu-abu (sisi kanan). Kedua palet warna ( Set3dan Spectral) milik ColorBrewer .

  1. [UL] Kualitatif Set3
  2. [UR] Kualitatif Set3 dalam skala abu-abu
  3. [LL] Menyelam Spectral
  4. [LR] Menyimpang Spectraldalam skala abu-abu

masukkan deskripsi gambar di sini

Saya terutama menderita untuk membedakan kelompok di gambar kanan atas, sedangkan bagian bawah (spektral) jauh lebih baik, jika tidak sempurna (saya tidak bisa mengatakan yang berwarna biru atau merah). Dan menurut ColorBrewer skema warna Spectral (yang saya gunakan di sini) adalah satu-satunya photocopy safeuntuk palet 5-kelas.

Mengurangi kelas (ke 3 atau 4) mungkin menjadi pilihan, tapi saya khawatir itu bukan tujuan peta ini.

Ini mungkin tidak terkait dengan perangkat lunak GIS, tetapi pada dasarnya saya menggunakan QGIS yang menawarkan ColorBrewer, cpt-city, dan palet lain dan jalur warna.


@obrl_soil menyarankan ini adalah rangkaian warna Viridis

masukkan deskripsi gambar di sini


@underdark menyarankan ini adalah dua jenis 4 colors + whitependekatan.

masukkan deskripsi gambar di sini

KIRI: Oranye-Merah + putih (berurutan), KANAN: Ungu-Oranye + putih (diverging)

Kazuhito
sumber
Anda sudah menemukan jawaban yang baik tetapi saya ingin memperkenalkan Anda ke colorbrewer2.org yang memungkinkan Anda menghasilkan skema warna yang bagus
LaughU
@LaughU Sebenarnya ini adalah situs web yang saya maksudkan ... maaf jika tidak disebutkan dengan jelas. Tapi terima kasih, ini sumber yang bagus, saya setuju.
Kazuhito

Jawaban:

8

Pernahkah Anda melihat keluarga viridis? Cara termudah untuk menambahkannya di QGIS adalah melalui tautan ini - http://rocksandwater.net/blog/2016/07/qgis_perceptually_uniform_colorramps/

obrl_soil
sumber
1
Terima kasih banyak @obrl_soil! Ini bagus. Saya pikir saya melihat nama viridis di komunitas R beberapa waktu sebelumnya, tapi mungkin saya belum cukup memperhatikan. (Menambahkan hasil viridis ke posting saya sebagai Edit).
Kazuhito
10

Seperti yang ColorBrewer sarankan hanya skema warna spektral 5 kelas "aman" untuk penggunaan mesin fotokopi (yaitu skala abu-abu). Solusi termudah adalah menggunakan beberapa cara lain untuk membedakan kelas-kelas seperti penetasan.

Dalam QGIS itu adalah masalah sederhana untuk memilih 5 palka yang berbeda dalam klasifikasi dengan mengubah kuas isian.

masukkan deskripsi gambar di sini

Atau dengan menggunakan isian Pola Titik dengan jarak yang berbeda:masukkan deskripsi gambar di sini

Ian Turton
sumber
1
Terima kasih @iant, tetapi haruskah saya menerimanya (maksud saya, ColorBrewer) menyiratkan bahwa tidak ada cara menghasilkan skema warna 5-kelas selain dari set tertentu? Jika demikian, saya tidak memiliki masalah dengan penetasan.
Kazuhito
7

Colorbrewer 2.0 pada dasarnya memberitahu kita bahwa tidak ada skema warna "fotokopi aman" dengan 5 warna, jadi di sini adalah solusi 4 warna:

masukkan deskripsi gambar di sini

Tentu saja, itu tidak menghitung "putih" sebagai warna ke-5 potensial sehingga solusi ini mungkin masih cukup untuk aplikasi Anda.

underdark
sumber
1
Bagus. Menambahkan putih adalah ide cemerlang yang tidak pernah terlintas dalam pikiran saya (saya hampir siap untuk melepaskan ColorBrewer). Terima kasih!
Kazuhito
4

Saya memiliki masalah yang sama. Saya membutuhkan 8 kelas. Saya membuat solusi yang memungkinkan Anda setidaknya membuat kategori yang paling mungkin dibedakan. Ini meningkatkan jarak antara nilai saturasi setiap warna yang dibuat oleh colorbrewer secara default. Dengan ini Anda mendapatkan kategori yang paling bisa dibedakan dalam cetak b / w. Kedua plot hanya berubah sedikit seperti yang Anda lihat di bawah, tetapi pada dasarnya dapat membuat perbedaan.

Perlu tahu R untuk menggunakan skrip:

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)

nilai yang diubah nilai yang diubah

nilai asli masukkan deskripsi gambar di sini

sunting: jika Anda juga ingin mengubah kecerahan (lihat diskusi di bawah) gunakan kode berikut:

# 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
joaoal
sumber
1
Terima kasih @ Joaoal! Apakah Anda keberatan menambahkan representasi skala abu-abu untuk setiap gambar? Percobaan cepat saya pada kode Anda menghasilkan gambar yang hampir identik (untuk mata saya yang tidak terlatih) ketika mereka berubah menjadi skala abu-abu 8-bit.
Kazuhito
1
@ Kazuhito tidak yakin bagaimana melakukan itu di R. Dalam cetak bw solusi saya jelas sedikit lebih baik daripada default, namun seperti yang saya tulis di atas, sulit untuk membuat perbedaan yang sangat bagus jika Anda menggunakan 8 kelas. dalam kasus Anda dengan 5 kelas mungkin lebih baik. Selain meningkatkan ramp warna, Anda juga dapat mempertimbangkan untuk menambahkan simbol ke peta Anda di tengah setiap poligon di mana setiap simbol unik mewakili kategori yang berbeda atau Anda bisa menggunakan gaya isian yang berbeda misalnya pola garis. solusi saya adalah untuk data raster di mana Anda tidak dapat melakukan hal seperti itu.
joaoal
2
+1 @ Joaoal Terima kasih atas info tambahan Anda. Hanya sebuah pemikiran, tetapi bagaimana dengan perubahan palette.HSV@coords[x,3]yang terkait dengan Value (atau Brightness) dalam ruang warna HSV? (Anda telah mengerjakan Saturation). Tes cepat saya coords[ ,3]menghasilkan lebih banyak kontras tetapi saya tidak yakin dengan lingkungan Anda.
Kazuhito
2
@ Kuhuhito Saya mencobanya untuk contoh saya dan tidak menghasilkan hasil yang lebih baik saya mengubah kecerahan saja. Secara teori saturasi secara langsung terkait dengan abu-abu di mana 0 putih dan 1 hitam dalam cetak bw / atau warna penuh misalnya "merah" dalam cetak warna. Kecerahan juga memengaruhi abu-abu dalam cetakan, namun rentang Anda terbatas karena mengubah warna antara warna penuh, misalnya "merah" dan "hitam". Kombinasi keduanya mungkin merupakan opsi dan saya menambahkan beberapa kode di atas untuk menjelaskannya. Saya mendapat kesan bahwa hanya meningkatkan perbedaan warna yang lebih terang, tetapi itu memperburuk yang lebih gelap.
joaoal
Terima kasih, senang tahu. Saya juga setuju bahwa kita tidak seharusnya terlalu banyak menghargai Value.
Kazuhito