आर का उपयोग करके विशिष्ट रेखापुंज मूल्यों को रंग कैसे असाइन करें


9

मैं एक मानचित्र बनाने levelplotके लिए भयानक rasterVisपैकेज के फ़ंक्शन का उपयोग कर रहा हूं, जिसका मान शून्य के आसपास विचरण करता है। मैं लाल से नीले रंग के पैलेट का उपयोग करके एक रास्टर फ़ाइल की साजिश रच रहा हूं, लेकिन मैं मानचित्र में शून्य मानों को ग्रे करने की कोशिश कर रहा हूं।

विशेष रूप से, मैं इस आकृति के रंगों को पुन: उत्पन्न करना चाहता हूं:

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

ध्यान दें कि जहां लाल से नीले पैमाने का उपयोग किया जाता है, लेकिन शून्य मान ग्रे रंग से रंगा गया है।

वर्तमान में, मेरे नक्शे इस तरह दिखते हैं:यहाँ छवि विवरण दर्ज करें

और यह इसे पुन: उत्पन्न करने के लिए कोड है ( https://www.dropbox.com/s/cypfdu1eaz2fuok/r.annual.tif?dl=0 पर उपलब्ध फ़ाइल ):

# Load required packages
library(rasterVis)

# open file
r.annual <- raster("Downloads/r.annual.tif")

# Set color palette
myTheme=rasterTheme(region=brewer.pal('RdBu', n=11))

# Plot
levelplot(annual.mask, par.settings=myTheme, margin=F)

मैं अपने नक्शे में सभी शून्य मानों को ग्रे कैसे निर्दिष्ट कर सकता हूं?

जवाबों:


7

आप दो पूर्वनिर्धारित रंग पट्टियों और अपने वांछित ग्रे रंग को समेट कर अपने स्वयं के रंग पैलेट को परिभाषित कर सकते हैं: [लाल नारंगी पीला पैलेट] + [शून्य ग्रे रंग] + [ब्लूज़ पैलेट] । ग्रे रंग के साथ संरेखित शून्य मान प्राप्त करने के लिए आपको nपूर्वनिर्धारित रंग पट्टियों के लिए समान रंगों ( ) का उपयोग करना होगा ।

नीचे टिप्पणी कोड का प्रयास करें:

# Load libraries
library('rasterVis')

# open raster file
r.annual <- raster("r.annual.tif")

# Set color palette
zeroCol <-"#B3B3B3" # (gray color, same as your figure example)
reds <- rev(brewer.pal('YlOrRd', n = 7))
blues <- brewer.pal('Blues', n = 7)

myTheme <- rasterTheme(region = c(reds, zeroCol, blues))

# Plot
levelplot(r.annual, par.settings = myTheme, margin = FALSE, main = expression("Precipitation" ~ (mm ~ year^{-1})))

भूखंड

ध्यान दें कि आपका प्लॉट आपके द्वारा पोस्ट किए गए आंकड़े उदाहरण की तरह नहीं दिखेगा क्योंकि आपके रैस्टर में कई एनएएस के साथ अधिक विरल डेटा है


उत्तर के लिए धन्यवाद। मैंने महसूस किया कि मेरी समस्या मानचित्र में बहुत अधिक NA है। myTheme$panel.background$col = 'grey70'अपनी myThemeलाइन के बाद जोड़ने का प्रयास करें और परिणाम देखने के लिए इसे प्लॉट करें। जाहिरा तौर पर अब मुझे छवि के चारों ओर अत्यधिक NA क्षेत्रों से छुटकारा पाने की आवश्यकता है।
थियागोवेलोसो

2
आपका स्वागत है! ध्यान दें कि 0मूल्य मूल्य से अलग है NA। साथ ही उनके अलग-अलग अर्थ हैं। आप दोनों को एक ही रंग दे सकते हैं, लेकिन मुझे लगता है कि यह उचित नहीं है। यदि आप एक वर्षा रेखापुंज करना चाहते हैं जो आपके द्वारा पोस्ट किए गए आंकड़े (अधिक डेटा) की तरह दिखता है, तो एक सुझाव एक उपयुक्त भविष्यवाणी मॉडल के बाद आपके डेटा को प्रक्षेपित करने की कोशिश कर रहा है।
गुजमान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.