गुणात्मक रंग पैलेट - फोटोकॉपी सुरक्षित (ग्रेस्केल तैयार)


12

मैं एक 5-क्लास गुणात्मक रंग पैलेट की तलाश कर रहा हूं जिसे काले और सफेद प्रिंटर में मुद्रित किया जा सकता है।

नीचे की छवि रंग में एक नक्शा दिखाती है (शीर्ष: गुणात्मक, निचला: विचलन) और प्रत्येक ग्रेस्केल (दाएं हाथ) में कैसे दिखता है। दोनों रंग पट्टियाँ ( Set3और Spectral) ColorBrewer के हैं

  1. [उल] गुणात्मक Set3
  2. [यूआर] Set3 ग्रेस्केल में गुणात्मक
  3. [एलएल] गोताखोर Spectral
  4. [LR] Spectralग्रेस्केल में विचलन

यहाँ छवि विवरण दर्ज करें

मैं विशेष रूप से शीर्ष-दाईं छवि में समूहों को नुकसान पहुंचाता हूं, जबकि नीचे (वर्णक्रमीय) बहुत बेहतर है, अगर सही नहीं है (मैं यह नहीं कह सकता कि जो नीला या लाल था)। और ColorBrewer के अनुसार स्पेक्ट्रल कलर स्कीम (जिसका मैंने यहाँ इस्तेमाल किया था) केवल photocopy safe5-क्लास पैलेट के लिए है।

कक्षाएं कम करना (3 या 4 के लिए) एक विकल्प हो सकता है, लेकिन मुझे डर है कि यह इस नक्शे का उद्देश्य नहीं था।

यह शायद GIS सॉफ्टवेयर्स से संबंधित नहीं है, लेकिन मैं मूल रूप से QGIS का उपयोग करता हूं जो ColorBrewer, cpt-city और अन्य पैलेट और रंग रैंप प्रदान करता है।


@obrl_soil सुझाव यह है Viridis रंग सेट

यहाँ छवि विवरण दर्ज करें


@underdark ने सुझाव दिया कि यह दो प्रकार का 4 colors + whiteहै।

यहाँ छवि विवरण दर्ज करें

बाएँ: नारंगी-लाल + सफेद (अनुक्रमिक), सही: बैंगनी-नारंगी + सफेद (विचलन)


आपको पहले से ही एक अच्छा उत्तर मिल गया है, लेकिन मैं आपको colorbrewer2.org से मिलवाना चाहता हूं, जो आपको अच्छी रंग योजनाएं बनाने की अनुमति देता है
LaughU

@ लाफू यह वास्तव में एक ऐसी वेबसाइट है जिसका मैं उल्लेख कर रहा हूं ... क्षमा करें यदि यह स्पष्ट रूप से उल्लेखित नहीं है। लेकिन धन्यवाद, यह वास्तव में अच्छा संसाधन है, मैं सहमत हूं।
कज़ुहितो

जवाबों:


8

क्या आपके पास विरदी परिवार पर एक नज़र है? QGIS में उन्हें जोड़ने का सबसे आसान तरीका इस लिंक के माध्यम से है - http://rocksandwater.net/blog/2016/07/qgis_perceptually_uniform_colorramps/


1
बहुत बहुत धन्यवाद @obrl_soil! यह भी खूब रही। मुझे लगता है कि मैंने कुछ समय पहले आर समुदाय में विरिडिस नाम देखा था , लेकिन शायद मैंने पर्याप्त ध्यान नहीं दिया था। (एडिट के रूप में मेरी पोस्ट पर जोड़ा गया विरिडिस परिणाम)।
कज़ुहितो

10

जैसा कि ColorBrewer सुझाव देता है कि फोटोकॉपियर (यानी ग्रे स्केल) उपयोग के लिए केवल 5 वर्ग वर्णक्रमीय रंग योजना "सुरक्षित" है। सबसे आसान उपाय वर्गों को भेदने के कुछ अन्य तरीके का उपयोग करना है जैसे कि हैचिंग।

क्यूजीआईएस में भरण ब्रश को बदलकर एक वर्गीकरण में 5 अलग-अलग टोपियां चुनना एक साधारण मामला है।

यहाँ छवि विवरण दर्ज करें

या एक बिंदु पैटर्न का उपयोग करके अलग-अलग दूरी भरें:यहाँ छवि विवरण दर्ज करें


1
थैंक्स @iant, लेकिन क्या मुझे इसे लेना चाहिए (मेरा मतलब है, ColorBrewer) का तात्पर्य है कि उस विशेष सेट के अलावा 5-क्लास कलर स्कीम का उत्पादन करने का कोई तरीका नहीं है? यदि हां, तो मुझे हैचिंग के साथ जाने में कोई समस्या नहीं है।
कज़ुहितो

7

Colorbrewer 2.0 मूल रूप से हमें बताता है कि 5 रंगों के साथ कोई "फोटोकॉपी सुरक्षित" रंग योजना नहीं है, इसलिए यहां 4 रंग समाधान है:

यहाँ छवि विवरण दर्ज करें

बेशक, यह संभावित 5 वें रंग के रूप में "सफेद" की गिनती नहीं करता है, इसलिए यह समाधान आपके आवेदन के लिए अभी भी पर्याप्त हो सकता है।


1
अच्छा लगा। सफ़ेद जोड़ना शानदार विचार है जो कभी दिमाग में नहीं आया (मैं ColorBrewer को छोड़ने के लिए लगभग तैयार था)। धन्यवाद!
कज़ुहितो

4

मुझे भी यही समस्या थी। मुझे 8 वर्गों की आवश्यकता थी। मैंने एक वर्कअराउंड बनाया जो आपको कम से कम श्रेणियों को सबसे अलग संभव बनाने की अनुमति देता है। यह प्रत्येक रंग के संतृप्ति मूल्यों के बीच की दूरी को बढ़ाता है जो कि डिफ़ॉल्ट रूप से कलरब्रेवर द्वारा बनाए जाते हैं। इसके द्वारा आपको b / w प्रिंट में सबसे अलग श्रेणी मिलती है। दो प्लॉट केवल थोड़े से बदलते हैं जैसा कि आप नीचे देख सकते हैं, लेकिन बीडब्ल्यू में इससे फर्क पड़ सकता है।

स्क्रिप्ट का उपयोग करने के लिए 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-बिट ग्रेस्केल में बदल गए।
कज़ुहितो

1
@ Kazuhito को यकीन नहीं है कि आर में ऐसा कैसे किया जाता है। bw प्रिंट में मेरा समाधान स्पष्ट रूप से डिफ़ॉल्ट की तुलना में थोड़ा बेहतर है, हालांकि जैसा कि मैंने ऊपर लिखा है, यदि आप 8 कक्षाओं का उपयोग करते हैं तो वास्तव में अच्छा अंतर करना मुश्किल है। आपके मामले में 5 वर्गों के साथ यह बेहतर हो सकता है। रंग रैंप को बेहतर बनाने के अलावा, आप प्रत्येक बहुभुज के केंद्र में अपने नक्शे में प्रतीकों को जोड़ने पर विचार कर सकते हैं जहां प्रत्येक अद्वितीय प्रतीक एक अलग श्रेणी का प्रतिनिधित्व करता है या आप विभिन्न भरण शैलियों का उपयोग कर सकते हैं जैसे लाइन पैटर्न। मेरा समाधान रेखापुंज डेटा के लिए था जहाँ आप ऐसा काम नहीं कर सकते।
जौहल

2
+1 @joaoal आपकी अतिरिक्त जानकारी के लिए धन्यवाद। बस एक विचार, लेकिन palette.HSV@coords[x,3]एचएसवी कलरस्पेस में वैल्यू (या ब्राइटनेस) के अनुरूप बदलने के बारे में कैसे ? (आप संतृप्ति पर काम कर रहे हैं)। coords[ ,3]अधिक विपरीत उत्पादन पर मेरा त्वरित परीक्षण लेकिन मुझे आपके वातावरण में यकीन नहीं है।
कज़ुहितो

2
@ Kazuhito मैंने इसे अपने उदाहरण के लिए आज़माया और बेहतर परिणाम नहीं दिए मैंने केवल चमक को बदल दिया। सिद्धांत में संतृप्ति को सीधे ग्रेनेस से जोड़ा जाता है जहां 0 सफेद होता है और 1 बीडब्ल्यू प्रिंट में काला होता है या रंग प्रिंट में "लाल" जैसे पूर्ण रंग होता है। चमक प्रिंट में ग्रेनेस को भी प्रभावित करती है लेकिन किसी तरह आपकी सीमा सीमित होती है क्योंकि यह पूर्ण रंग जैसे "लाल" और "ब्लैक" के बीच रंग बदलता है। दोनों का संयोजन एक विकल्प हो सकता है और मैंने उसके लिए कुछ कोड ऊपर जोड़ा है। मुझे आभास था कि केवल हल्के रंगों में अंतर में सुधार होता है, लेकिन यह गहरे रंगों को खराब करता है।
जोआल

धन्यवाद, जानकर अच्छा लगा। मैं इस बात से भी सहमत हूं कि हमें वैल्यू पर बहुत अधिक ध्यान नहीं देना चाहिए।
कज़ुहितो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.