साथ grid.arrange
मैं कई व्यवस्था कर सकते हैं ggplot
की तरह कुछ का उपयोग करके एक बहु पैनल आंकड़ा प्राप्त करने के लिए एक ग्रिड में आंकड़े:
library(ggplot2)
library(grid)
library(gridExtra)
कुछ ggplot2 भूखंड उत्पन्न करें, फिर
plot5 <- grid.arrange(plot4, plot1, heights=c(3/4, 1/4), ncol=1, nrow=2)
मैं पूरे फर्स्ट कॉल में एक प्लॉट और दूसरे कॉलोनी में तीन प्लॉट के साथ 'असंतुलित' 2 कॉल लेआउट कैसे प्राप्त कर सकता हूं? मैंने 'ग्रिड-ऑफ-ग्रिड्स' दृष्टिकोण के साथ एक ग्रिड का उपयोग grid.arrange
करने की कोशिश की plot5
, जो दूसरे ग्रिड के खिलाफ एक ग्रिड (जैसे , ऊपर) की साजिश रच रहा था, लेकिन प्राप्त:
अर्रेंजग्रोब (..., as.table = as.table, क्लिप = क्लिप, मेन = मेन,: इनपुट) में त्रुटि होनी चाहिए!
अपडेट करें:
सलाह के लिए धन्यवाद। मैं इस पर गौर करेंगे viewports
और grid
। इस बीच, @WWin के लिए धन्यवाद, layOut
'wq' पैकेज में फंक्शन ने मेरे डेटा संकलन के लिए बहुत अच्छा काम किया Sweave
:
अपडेट 2:
arrangeGrob
आदेश (के रूप में @baptiste ने सुझाव दिया) भी अच्छी तरह से काम करता है, और बहुत सहज ज्ञान युक्त लगता है - कम से कम यह दो कॉलम की चौड़ाई बदलने के लिए आसान था। यह भी `wq 'पैकेज की आवश्यकता नहीं के लाभ है।
उदाहरण के लिए यहाँ मेरी Sweave फ़ाइल का कोड है:
<<label=fig5plot, echo=F, results=hide>>=
plot5<-grid.arrange(plot4, arrangeGrob(plot1, plot2, plot3, ncol=1),
ncol=2, widths=c(1,1.2))
@
\begin{figure}[]
\begin{center}
<<label=fig5,fig=TRUE,echo=T, width=10,height=12>>=
<<fig5plot>>
@
\end{center}
\caption{Combined plots using the `arrangeGrob' command.}
\label{fig:five}
\end{figure}
जो निम्नलिखित उत्पादन का उत्पादन करता है:
BTW, कोई भी मुझे बताता है कि '> NA' क्यों दिखाई देता है?
grid
। हेडली की ggplot2 पुस्तक भी देखें, खंड 8.4.2।
grid.arrange
अपने साथी arrangeGrob
(अनिवार्य रूप से वापस लौटते हुए gTree
) का उपयोग करके नेस्टेड व्यूपोर्ट के साथ उपयोग किया जा सकता है , जैसा कि मैंने नीचे दिया है।
plot5
रूप में आपके अंतिम असाइनमेंट की आवश्यकता नहीं है grid.arrange
। यदि आप परिणामी grob उपयोग को arrangeGrob
फिर से सहेजना चाहते हैं (और grid.draw
इसे प्रदर्शित करने के लिए)।
grid.arrange
पर्याप्त लचीला नहीं हो सकता है ("[r] ग्रिड व्यूपोर्ट" के लिए