2012-10-23 21 views
17

plot फ़ंक्शन द्वारा उत्पन्न साजिश डालने का कोई तरीका है और ggplot द्वारा प्लॉट को एक पृष्ठ में एक तरफ से प्लॉट में प्लॉट करने का कोई तरीका है?प्लॉट 'और' ggplot 'द्वारा उत्पन्न प्लॉट्स साइड-बाय-साइड

par या multiplot फ़ंक्शन का उपयोग करके एक ही फ़ंक्शन द्वारा बनाए गए प्लॉट को बनाना आसान है, लेकिन मैं उपरोक्त प्रश्न को नहीं समझ सकता।

+0

आप 'gridExtra' पैकेज को देख सकते हैं। यह मुझे ऐसा लगता है। – Justin

उत्तर

26

आप gridBase पैकेज और व्यूपोर्ट्स का उपयोग करके ऐसा कर सकते हैं।

library(grid) 
library(gridBase) 
library(ggplot2) 

# start new page 
plot.new() 

# setup layout 
gl <- grid.layout(nrow=1, ncol=2) 
# grid.show.layout(gl) 

# setup viewports 
vp.1 <- viewport(layout.pos.col=1, layout.pos.row=1) 
vp.2 <- viewport(layout.pos.col=2, layout.pos.row=1) 
# init layout 
pushViewport(viewport(layout=gl)) 
# access the first position 
pushViewport(vp.1) 

# start new base graphics in first viewport 
par(new=TRUE, fig=gridFIG()) 

plot(x = 1:10, y = 10:1) 

# done with the first viewport 
popViewport() 

# move to the next viewport 
pushViewport(vp.2) 

ggplotted <- qplot(x=1:10,y=10:1, 'point') 
# print our ggplot graphics here 
print(ggplotted, newpage = FALSE) 

# done with this viewport 
popViewport(1) 

enter image description here

इस उदाहरण से Dylan Beaudette

+0

आपने एक बहुत साफ जवाब दिया। धन्यवाद। – Elaine

+0

gridFIG() कहां से आता है? –

2

हाँ this blog post का एक संशोधित संस्करण है। वे दोनों ग्रिड-आधारित ग्राफिक्स सिस्टम हैं और ग्राफिकल ऑब्जेक्ट्स लौटते हैं। GridExtra पैकेज में grid.arrange फ़ंक्शन पर एक नज़र डालें

+0

क्या पढ़ना चाहिए * अगर * वे दोनों ग्रिड-आधारित ग्राफिक्स सिस्टम हैं? – mnel

+0

मैं पहले के संस्करण को पढ़ रहा हूं जो 'जाली' और 'ggplot2' कहता है ... या यह बीयर जिसे मैं पी रहा हूं, विशेष गुण हैं। आपके उत्तर के लिए उन वोटों में से एक मेरा है। –

+0

प्लॉट फ़ंक्शन ग्रिड-आधारित नहीं है। शायद यही वह बात है जिसका आप उल्लेख कर रहे हैं, डीडब्ल्यूएन? हालांकि, मैंने पढ़ा है कि ग्रिड सिस्टम में साजिश एम्बेड करने के तरीके हैं। – JAponte

संबंधित मुद्दे