मैं नीचे (आर्क मानचित्र में बनाया गया) एकएक रेखापुंज
मैं निम्नलिखित कोड की कोशिश की है के लिए इसी तरह आर स्टूडियो का उपयोग एक साजिश बनाने के लिए चाहते हैं मैप करने के लिए उपयोग ggplot2 कैसे निर्धारित करें:
# data processing
library(ggplot2)
# spatial
library(raster)
library(rasterVis)
library(rgdal)
#
test <- raster(paste(datafold,'oregon_masked_tmean_2013_12.tif',sep="")) # read the temperature raster
OR<-readOGR(dsn=ORpath, layer="Oregon_10N") # read the Oregon state boundary shapefile
gplot(test) +
geom_tile(aes(fill=factor(value),alpha=0.8)) +
geom_polygon(data=OR, aes(x=long, y=lat, group=group),
fill=NA,color="grey50", size=1)+
coord_equal()
कि कोड के उत्पादन में इस तरह दिखता है:
कुछ चीजों को ध्यान में रखना। सबसे पहले, वाटरशेड आकारफाइल आर संस्करण से गायब हैं। यह ठीक है।
दूसरा, आर प्लॉट में गहरा भूरा पृष्ठभूमि कोई डेटा मान नहीं है। आर्क में, वे प्रदर्शित नहीं होते हैं, लेकिन आर में वे gplot के साथ प्रदर्शित करते हैं। जब मैं रेखापुंज पैकेज से 'साजिश' का उपयोग वे प्रदर्शन नहीं करते:
plot(test)
मेरे सवालों का इस प्रकार हैं:
- मैं कैसे गहरे भूरे रंग से कैसे छुटकारा पाऊँ भरने NoData 'gplot' उदाहरण में?
- मैं किंवदंती (रंगीन) को उचित होने के लिए कैसे सेट करूं (जैसे आर्कमैप और रास्टर 'प्लॉट' किंवदंतियों में?)
- मैं रंगरूप को कैसे नियंत्रित करूं?
ध्यान दें करने के लिए, मैं
scale_fill_brewer
scale_fill_manual
scale_fill_gradient
के कई अलग अलग संस्करणों की कोशिश की है और इतने पर और बहुत आगे है, लेकिन मैं
br <- seq(minValue(test), maxValue(test), len=8)
gplot(test)+
geom_tile(aes(fill=factor(value),alpha=0.8)) +
scale_fill_gradient(breaks = br,labels=sprintf("%.02f", br)) +
geom_polygon(data=OR, aes(x=long, y=lat, group=group),
fill=NA,color="grey50", size=1)+
coord_equal()
Regions defined for each Polygons
Error: Discrete value supplied to continuous scale
अंत में त्रुटियों मिलता है, उदाहरण के लिए, एक बार मैं एक समाधान है इन मानचित्रों में से एक को साजिश करने के लिए, मैं एक आकृति पर कई मानचित्रों को प्लॉट करना चाहता हूं और पूरे पैनल (यानी सभी मानचित्रों के लिए एक रंगीन पट्टी) के लिए एक रंगीन रंग बनाना चाहता हूं और मैं यह नियंत्रित करने में सक्षम होना चाहूंगा कि कलरबार कहां स्थित है और कर्नल का आकार orbar। यहाँ है कि मैं क्या grid.arrange साथ कर सकते हैं का एक उदाहरण है, लेकिन मैं समझ नहीं एक भी colorbar सेट करने का तरीका:
r1 <- test
r2 <- test
r3 <- test
r4 <- test
colr <- colorRampPalette(rev(brewer.pal(11, 'RdBu')))
l1 <- levelplot(r1,
margin=FALSE,
colorkey=list(
space='bottom',
labels=list(at=-5:5, font=4),
axis.line=list(col='black')
),
par.settings=list(
axis.line=list(col='transparent')
),
scales=list(draw=FALSE),
col.regions=viridis,
at=seq(-5, 5, len=101)) +
layer(sp.polygons(oregon, lwd=3))
l2 <- levelplot(r2,
margin=FALSE,
colorkey=list(
space='bottom',
labels=list(at=-5:5, font=4),
axis.line=list(col='black')
),
par.settings=list(
axis.line=list(col='transparent')
),
scales=list(draw=FALSE),
col.regions=viridis,
at=seq(-5, 5, len=101)) +
layer(sp.polygons(oregon, lwd=3))
l3 <- levelplot(r3,
margin=FALSE,
colorkey=list(
space='bottom',
labels=list(at=-5:5, font=4),
axis.line=list(col='black')
),
par.settings=list(
axis.line=list(col='transparent')
),
scales=list(draw=FALSE),
col.regions=viridis,
at=seq(-5, 5, len=101)) +
layer(sp.polygons(oregon, lwd=3))
l4 <- levelplot(r4,
margin=FALSE,
colorkey=list(
space='bottom',
labels=list(at=-5:5, font=4),
axis.line=list(col='black')
),
par.settings=list(
axis.line=list(col='transparent')
),
scales=list(draw=FALSE),
col.regions=viridis,
at=seq(-5, 5, len=101)) +
layer(sp.polygons(oregon, lwd=3))
grid.arrange(l1, l2, l3, l4,nrow=2,ncol=2) #use package gridExtra
उत्पादन यह है:
शेपफ़ाइल और रेखापुंज फ़ाइल नीचे दिए गए लिंक पर उपलब्ध हैं:
https://drive.google.com/open?id=0B5PPm9lBBGbDTjBjeFNzMHZYWEU
कई समय से आगे धन्यवाद।
devtools :: session_info() सत्र जानकारी ------------------------------------- -------------------------------------------------- ------------------------------ सेटिंग मूल्य
संस्करण आर संस्करण 3.1.1 (2014-07-10) सिस्टम x86_64, डार्विन 10.8।0
ui RStudio (0.98.1103)
भाषा (एन)
कोलेट en_US.UTF-8
America/Los_Angeles TZ
संकुल --------------- -------------------------------------------------- -------------------------------------------------- ------ पैकेज * संस्करण दिनांक स्रोत
बिट्स 1.0-6 2013-08-17 सीआरएएन (आर 3.1.0) रंगस्थान 1.2-6 2015-03-11 सीआरएएन (आर 3.1.3) devtools 1.8 .0 2015-05-09 सीआरएएन (आर 3.1.3) डाइजेस्ट 0.6.4 2013-12-03 सीआरएएन (आर 3.1.0) ggplot2 * 1.0.1 2015-03-17 सीआरएएन (आर 3.1.3) ggthemes * 2.1.2 2015-03-02 सीआरएएन (आर 3.1.3) git2r 0.10.1 2015-05-07 सीआरएएन (आर 3.1 .3) ग्रिडएक्स्ट्रा 0.9.1 2012-08-09 सीआरएएन (आर 3.1.0) जीटेबल 0.1.2 2012-12-05 सीआरएएन (आर 3.1.0) हेक्सबिन * 1.26.3 2013-12-10 सीआरएएन (आर 3.1.0) जाली * 0.20-29 2014-04-04 सीआरएएन (आर 3.1.1) लैटिस एक्स्ट्रा * 0.6-26 2013-08-15 सीआरएएन (आर 3.1.0) मैग्रिटर 1.5 2014-11-22 क्रैन (आर 3.1.2) MASS 7.3-33 2014-05-05 सीआरएएन (आर 3.1.1) ज्ञापन 0.2.1 2014-04-22 सीआरएएन (आर 3.1.0) मुनसेल 0.4.2 2013-07-11 सीआरएएन (आर 3.1.0) प्लीयर 1.8.2 2015-04-21 सीआरएएन (आर 3.1.3) प्रोटो 0.3-10 2012-12-22 क्रैन (आर 3.1.0) रास्टर * 2.2-31 2014-03-07 सीआरएएन (आर 3.1.0) रास्टरविस * 0.28 2014-03-25 सीआरएएन (आर 3.1.0) आरकॉलरब्रेवर * 1.0-5 2011-06- 17 सीआरएएन (आर 3.1.0) आरसीपीपी 0.11.2 2014-06-08 सीआरएएन (आर 3.1.0) आरसीआरएल 1.95-4.6 2015-04-24 सीआरएएन (आर 3.1.3) reshape2 1.4.1 2014-12 -06 सीआरएएन (आर 3.1.2) आरजीडीएल * 0.8-16 2014-02-07 सीआरएएन (आर 3.1.0) रिवर्सन 1.0.0 2015-04-22 सीआरएएन (आर 3.1.3) स्केल * 0.2.4 2014-04-22 सीआरएएन (आर 3.1.0) एसपी * 1.0-15 2014-04-09 सीआरएएन (आर 3.1.0) स्ट्रिंग 0.4-1 2014-12-14 सीआरएएन (आर 3.1.2) स्ट्रिंगर 1.0 .0 2015-04-30 सीआरएएन (आर 3.1.3) वायरिडीस * 0.3.1 2015-10-11 सीआरएएन (आर 3.2.0) एक्सएमएल 3.98-1.1 2013-06-20 क्रैन (आर 3.1.0) चिड़ियाघर 1.7-11 2014-02-27 क्रैन (आर 3.1.0)
कारण यह है कि आप इस के लिए ggplot उपयोग करना चाहते हैं क्या है? – RobertH
@RobertH मैं ggplot का उपयोग करने के लिए प्रतिबद्ध नहीं हूं लेकिन आम तौर पर मुझे ggplot पसंद है और मैं इसे सीखने की कोशिश कर रहा हूं इसलिए मैं प्रभावी रूप से ggplot के साथ भूखंडों का उत्पादन करने में सक्षम होना चाहता हूं। कृपया अन्य समाधानों को भी साझा करने के लिए स्वतंत्र महसूस करें। धन्यवाद। –
@hrbrmstr कृपया पहचानें कि क्या काम नहीं कर रहा है। शायद आप इस तथ्य से जूझ रहे हैं कि मैंने कुछ पूर्ण पथ शामिल किए हैं जो स्पष्ट रूप से किसी और की मशीन पर काम नहीं करेंगे। मैंने अपने संदेश के अंत में वास्तविक डेटा का एक लिंक शामिल किया। यदि आप डेटा को किसी फ़ोल्डर में डालते हैं और पथ को अपने फ़ोल्डर के पथ से प्रतिस्थापित करते हैं तो इसे काम करना चाहिए। मैं खरोंच से डेटा उत्पन्न करने के लिए आर के साथ पर्याप्त कुशल नहीं हूँ। –