Якісна палітра кольорів - безпечна фотокопія (відтінки сірого)


12

Я шукаю якісну кольорову палітру 5 класу, яку можна друкувати чорно-білими принтерами.

Знизу зображено кольорову карту (вгорі: якісна, знизу: розбіжна) та те, як виглядає кожен у відтінках сірого (права сторона). Обидві палітри кольорів ( Set3і Spectral) належать до ColorBrewer .

  1. [UL] Якісний Set3
  2. [UR] Якісний Set3 у відтінках сірого
  3. [LL] Розходяться Spectral
  4. [LR] Розбіжність Spectralу відтінках сірого

введіть тут опис зображення

Я особливо страждаю, щоб розрізнити групи в правому верхньому зображенні, тоді як нижній (спектральний) значно кращий, якщо не ідеальний (я не можу сказати, який був синій чи червоний). І згідно з ColorBrewer, спектральна колірна гамма (та, яку я тут використовувала) є єдиною photocopy safeдля 5-класової палітри.

Скорочення занять (до 3 або 4) може бути варіантом, але я боюся, це не було цільовою метою цієї карти.

Це, мабуть, не пов'язане з програмним забезпеченням ГІС, але я в основному використовую QGIS, який пропонує ColorBrewer, cpt-city та інші палітри та кольорові рампи.


@obrl_soil запропонував це Viridis набір квітів

введіть тут опис зображення


@underdark припустив, що це два типи 4 colors + whiteпідходів.

введіть тут опис зображення

ЛІВО: оранжево-червоний + білий (послідовний), ВПРАВО: фіолетово-оранжевий + білий (розходяться)


Ви вже знайшли хорошу відповідь, але я хотів би познайомити вас із кольором colorbrewer2.org, який дозволяє створювати приємні кольорові гами
LaughU

@LaughU Насправді це веб-сайт, на який я посилався ... Вибачте, якщо він чітко не згадувався. Але дякую, це дійсно хороший ресурс, я згоден.
Kazuhito

Відповіді:


8

У вас був погляд на сім'ю viridis? Найпростіший спосіб додати їх у QGIS - це за цим посиланням - http://rocksandwater.net/blog/2016/07/qgis_perceptually_uniform_colorramps/


1
Велике спасибі @obrl_soil! Це чудово. Думаю, я бачив прізвище viridis у спільноті R деякий час раніше, але, напевно, я не приділяв достатньої уваги. (Додано результат viridis до моєї публікації як Редагувати).
Kazuhito

10

Як вважає ColorBrewer, лише спектральна колірна схема 5 класу є "безпечною" для використання фотокопіювальної машини (тобто сірої гами). Найпростішим рішенням є використання іншого способу розрізнення класів, таких як штрихування.

У QGIS дуже просто вибрати 5 різних люків у класифікації, змінивши щітку для заливки.

введіть тут опис зображення

Або за допомогою точкового шаблону заповнюйте на різних відстанях:введіть тут опис зображення


1
Дякую @iant, але чи варто це брати (я маю на увазі, ColorBrewer) означає, що немає іншого способу створення 5-класової кольорової гами, крім цього конкретного набору? Якщо так, у мене немає проблем із висиджуванням.
Kazuhito

7

Colorbrewer 2.0 в основному говорить нам про те, що немає кольорової схеми "безпечно для фотокопіювання" з 5 кольорами, тому ось 4 кольорові рішення:

введіть тут опис зображення

Звичайно, "білий" не вважається потенційним п'ятим кольором, тому це рішення все ще може бути достатнім для вашої програми.


1
Приємно. Додавання білого кольору - це геніальна ідея, яка ніколи не прийшла в голову (я був майже готовий відмовитися від ColorBrewer). Дякую!
Казухіто

4

У мене була така ж проблема. Мені було потрібно 8 класів. Я створив обхідне рішення, яке дозволяє принаймні зробити категорії максимально помітними. Це збільшує відстань між значеннями насиченості кожного кольору, які створюються кольоровим пивачем за замовчуванням. Цим ви отримуєте найрізноманітніші категорії у друкованому вигляді. Два сюжети змінюються незначно, як ви бачите нижче, але в BW це може змінити ситуацію.

Щоб використовувати сценарій, потрібно знати R:

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)

змінені значення змінені значення

початкові значення введіть тут опис зображення

редагувати: якщо ви також хочете змінити яскравість (див. обговорення нижче), використовуйте наступний код:

# 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
Дякую @joaoal! Ви не проти додавати зображення для сірого в кожне зображення? Моя швидка проба над вашим кодом створила майже однакові зображення (для моїх непідготовлених очей), коли вони перетворилися на 8-бітовий відтінок сірого.
Kazuhito

1
@Kazuhito не впевнений, як це зробити в R. У Bw print моє рішення явно трохи краще, ніж за замовчуванням, однак, як я писав вище, важко зробити дійсно хороші відмінності, якщо використовувати 8 класів. у вашому випадку з 5 класами це може бути краще. Крім покращення кольорової рампи, ви також можете розглянути можливість додавання символів до своєї карти в центрі кожного багатокутника, де кожен унікальний символ являє собою іншу категорію, або ви можете використовувати різні стилі заповнення, наприклад, шаблони ліній. моє рішення було для растрових даних, де таких дій робити не можна.
joaoal

2
+1 @joaoal Дякуємо за додаткову інформацію. Просто думка, а як щодо зміни того, palette.HSV@coords[x,3]яке відповідає Значенню (або Яскравості) в кольоровому просторі HSV? (Ви працювали над насиченням). Мій швидкий тест на coords[ ,3]вироблення більшої контрастності, але я не впевнений у вашому оточенні.
Kazuhito

2
@Kazuhito Я спробував це на своєму прикладі і не дав кращих результатів, змінивши лише яскравість. Теоретично насичення безпосередньо пов'язане з сірістю, де 0 - білий і 1 - чорний у відтінку / або повному кольорі, наприклад, "червоний" кольоровий друк. Яскравість також впливає на сірість друку, але чомусь ваш діапазон обмежений, оскільки він змінює колір між повнокольоровим, наприклад, "червоним" та "чорним". Комбінація обох може бути варіантом, і я додав якийсь код вище, щоб врахувати це. У мене склалося враження, що лише покращується різниця в більш світлих тонах, але це погіршує темніші.
joaoal

Дякую, добре знати. Я також погоджуюся, що ми не повинні надто сильно ставитись на Value.
Казухіто
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.