मैं आर में एक विश्व मानचित्र तैयार करना चाहता हूं, लेकिन किसी कारण से छवि के ऊपर और नीचे अनावश्यक मार्जिन हैं। मैंने कोड को कम से कम कर दिया।

png('mundi.png',1000,500)
par(mar=c(0,0,0,0),bg='green')
plot(NA,xlim=c(-180,180),ylim=c(-90,90),xaxs='i',bty='n',xaxt='n',yaxt='n',asp=1)
par('usr')
rect(-180,-90,180,90,col='white')
dev.off()

उत्पन्न छवि है

rectangle 1000x500

हरे क्षेत्र अनावश्यक मार्जिन हैं। छवि और निर्देशांक दोनों का आयाम 2x1 (क्रमशः 1000x500 और 360x180) है। xaxs='i' को सटीक निर्देशांक बनाना चाहिए। asp=1 की जरूरत नहीं होनी चाहिए, और इससे कोई फर्क नहीं पड़ रहा है। par('usr') लौट रहा है

-180.0  180.0  -97.2   97.2

यह वापस क्यों नहीं आ रहा है

-180.0  180.0  -90.0   90.0

जैसा कि (माना जाता है) करना चाहिए?

1
Rodrigo 22 मार्च 2020, 20:37

1 उत्तर

सबसे बढ़िया उत्तर

आप लगभग वहाँ थे, वास्तव में। अतिरिक्त स्थान R जोड़े बिना xlim/ylim के माध्यम से प्लॉट विंडो की सीमाओं को नियंत्रित करने के लिए, आपको x/yaxt = 'i' विकल्प निर्दिष्ट करना होगा। आपने इसे x अक्ष के लिए सेट किया है, लेकिन y अक्ष के लिए नहीं।

जब मैं इसे वाई अक्ष के लिए सेट करता हूं, तो आउटपुट किए गए मान अपेक्षित होते हैं, और साजिश पूरी तरह से सफेद होती है (मुझे इसकी छवि न डालने के लिए क्षमा करें ;-))

png('mundi.png', width = 1000, height = 500)
par(mar=c(0,0,0,0), bg='green')
plot(NA, xlim = c(-180,180), ylim = c(-90,90), 
     xaxs='i', yaxs='i', # set both axes to 'i' option
     bty='n',xaxt='n',yaxt='n',asp=1)
par('usr')
# [1] -180  180  -90   90
rect(-180,-90,180,90,col='white')
dev.off()
1
RoB 22 मार्च 2020, 22:12