जवाबों:
कैसे कुछ के बारे में:
plot.new()
x11()
एक नया डिवाइस खोलने के लिए एक क्रॉस-प्लेटफॉर्म आर कमांड है। यदि आपके पास एक उपकरण खुला है और कॉल है plot.new()
, तो वर्तमान डिवाइस को साफ़ कर दिया जाएगा।
x11()
से अधिक dev.new()
? मेरी वृत्ति स्थानीय डिफॉल्ट डिवाइस जो है, उसे समायोजित करने के लिए उत्तरार्द्ध के साथ जाना है, लेकिन मैं निश्चित नहीं हूं कि चीजें कैसे काम करती हैं।
x11()
आदत के कारण उपयोग करता हूं । मैं आर में साजिश रचने का कोई विशेषज्ञ नहीं हूं, लेकिन प्रलेखन पर नज़र रखने के बाद, dev.new()
शायद बेहतर होगा।
मेरा सुझाव है कि किसी को बाद में उस पर कुछ ग्राफिक्स जोड़ने के लिए खाली प्लॉट बनाने की जरूरत है। तो, का उपयोग कर
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))
आप अपने ग्राफ़िक की अक्ष सीमाएँ निर्दिष्ट कर सकते हैं।
यह आपके मूल समाधान की तुलना में मामूली सरल है:
plot(0,type='n',axes=FALSE,ann=FALSE)
ann=FALSE
, वैसे भी एक खाली क्षेत्र होगा। लेकिन एक महान समाधान, धन्यवाद!
निम्नलिखित कथानक में कुछ भी नहीं देता है और यह खाली रहेगा।
plot(NULL, xlim=c(0,1), ylim=c(0,1), ylab="y label", xlab="x lablel")
यह तब उपयोगी होता है जब आप एक for
लूप या कुछ इसी तरह के भीतर लाइनों या डॉट्स को जोड़ना चाहते हैं । जिस डेटा को आप प्लॉट करना चाहते हैं, उसके आधार पर मूल्यों को बदलना xlim
और उसे याद रखना ylim
।
साइड नोट के रूप में:
इसका इस्तेमाल बॉक्सप्लेट, वायलिन प्लॉट और झुंड प्लॉट के लिए भी किया जा सकता है। उन लोगों के लिए जिन्हें add = TRUE
अपने प्लॉटिंग फ़ंक्शन में जोड़ना याद है और यह भी निर्दिष्ट at =
करना है कि आप उन्हें किस नंबर पर प्लॉट करना चाहते हैं (डिफ़ॉल्ट एक्स एक्सिस है जब तक कि आपने horz = TRUE
इन फ़ंक्शन में सेट नहीं किया है।
एडम, आपकी टिप्पणी के बाद ("मुझे मल्टीप्लेट (mfrow) प्लॉट में भराव के रूप में काम करने के लिए खाली प्लॉट चाहिए था।"), जो आप वास्तव में चाहते हैं वह एमएफजी विकल्प है
par(mfg=c(row,column))
- आप अगले प्लॉट को कहां रखना चाहते हैं, इस पर नियंत्रण। उदाहरण के लिए, एक 3x3 गुणक के बीच में एक भूखंड रखना, करना
par(mfrow=c(3,3))
par(mfg=c(2,2))
plot(rnorm(10))
आपको एक नई प्लॉट विंडो की आवश्यकता है, और एक समन्वय प्रणाली भी है, इसलिए आपको इसकी आवश्यकता है plot.new()
और plot.window()
फिर आप ग्राफ तत्वों को जोड़ना शुरू कर सकते हैं:
plot.new( )
plot.window( xlim=c(-5,5), ylim=c(-5,5) )
points( rnorm(100), rnorm(100) )
axis( side=1 )
grid.newpage() ## If you're using ggplot
grid() ## If you just want to activate the device.
grid()
ग्रिड पैकेज AFAIK से संबंधित नहीं है
अगर किसी को ggplot2
समाधान की तलाश है, तो आप cowplot
या तो patchwork
पैकेज का उपयोग कर सकते हैं
library(ggplot2)
### examples from cowplot vignettes
plot.mpg <- ggplot(mpg, aes(x = cty, y = hwy, colour = factor(cyl))) +
geom_point(size = 2.5)
plot.diamonds <- ggplot(diamonds, aes(clarity, fill = cut)) +
geom_bar() +
theme(axis.text.x = element_text(angle = 0, vjust = 0.5))
library(cowplot)
### use NULL
plot_grid(plot.mpg, NULL, NULL, plot.diamonds,
labels = c("A", "B", "C", "D"),
ncol = 2
)
# Note: if you want to initialize an empty drawing canvas, use ggdraw()
library(patchwork)
### use plot_spacer()
plot.mpg + plot_spacer() + plot_spacer() + plot.diamonds +
plot_layout(ncol = 2) +
plot_annotation(
title = "Plot title",
subtitle = "Plot subtitle",
tag_levels = "A",
tag_suffix = ")"
)
2019-03-17 को रेप्रेक्स पैकेज (v0.2.1.9000) द्वारा बनाया गया
कुछ पाठों के साथ एक खाली प्लॉट जो निर्धारित स्थिति है।
plot(1:10, 1:10,xaxt="n",yaxt="n",bty="n",pch="",ylab="",xlab="", main="", sub="")
mtext("eee", side = 3, line = -0.3, adj = 0.5)
text(5, 10.4, "ddd")
text(5, 7, "ccc")
plot(0,xaxt='n',yaxt='n',bty='n',pch='',ylab='',xlab='')
, क्योंकि जब आप जोड़ते हैं तब main = "", sub = ""
भी आपको उनके बिना एक ही परिणाम मिलता है।