2010-07-29 36 views
8

के साथ एक साजिश के आयाम/आकार को कैसे नियंत्रित करें मैं स्वीवे के साथ एक रिपोर्ट उत्पन्न करने के लिए ggplot2 (क्रमशः qplot) का उपयोग कर रहा हूं। अब मुझे साजिश के आकार के समायोजन के साथ कुछ मदद की ज़रूरत है। मैं इसे शामिल करने के लिए निम्नलिखित स्वीवे कोड का उपयोग करता हूं।ggplot2

\begin{figure}[htbp] 
\begin{center} 
<<fig=true,echo=false>>= 
print(mygraph) 
@ 
\caption{MyCaption} 
\end{center} 
\end{figure} 

मैं साजिश करने के लिए एक चौड़ाई तर्क (जैसे नीचे दिखाया गया है) जोड़ देते हैं तो नीचे निचोड़ा जाता है, लेकिन वास्तव में कम कर दिया नहीं।

<<fig=true,echo=false,width=3>>= 

अगर मैं ggsave() का उपयोग करने के बजाय, मैं पैमाने तर्क का उपयोग और जिसके परिणामस्वरूप .pdf फ़ाइल के आकार को प्रभावित कर सकता। क्या इसे बचाने के बिना साजिश के आयामों को प्रभावित करने का कोई तरीका है (चूंकि .pdf किसी भी तरह से स्वीवे द्वारा उत्पन्न होता है)? क्या मेरे पास कुछ qplot कोड में जोड़ने की ज़रूरत है?

mygraph=qplot(date,value,data=graph1,geom="line",colour=variable,xlab="",ylab="") 
+ scale_y_continuous(limits = c(-0.3,0.3)) 

Thx अग्रिम में किसी भी सुझाव के लिए!

उत्तर

5

ggplot2 के भीतर ऐसा करने के बजाय, ग्राफ़ प्रिंट करने पर कोड कोड से पहले निम्नलिखित LaTeX कोड जोड़ें।

\SweaveOpts{width=x, height=y} 

x और y ऊंचाई इंच में चौड़ाई है।

यदि कोई विशेष पहलू अनुपात है तो आप अपनी साजिश बनना चाहते हैं, तो आप इसे में opts() के साथ सेट कर सकते हैं। जब तक मेरे पास कोई अन्य कारण न हो, मैं आमतौर पर अपने प्लॉट को सुनहरे अनुपात में प्रति टफेट के सुझावों को रखने की कोशिश करता हूं। आम तौर पर मैं

... 
SweaveOpts{width=8, height=5} 
... 
<<label = "makeplot", echo = F>>= 
    p <- ggplot(mpg, aes(displ, hwy)) + 
    geom_point()+ 
    opts(aspect.ratio = 2/(1+sqrt(5))) 
@ 
... 
\begin{figure}[htbp] 
\begin{center} 
<<fig=true,echo=false>>= 
    print(p) 
@ 
\caption{MyCaption} 
\end{center} 
\end{figure} 
+0

महान उत्तर! (स्वीकार किए जाते हैं)। +1 यह अनुमान लगाने के लिए कि यह पूरी तरह से एक स्वीवे समस्या नहीं है, बल्कि एक पहलू .ratio बात है। –

+1

स्कैटरप्लॉट आमतौर पर स्क्वायर पहलू अनुपात के साथ सबसे अच्छे होते हैं - एक प्राथमिकता आमतौर पर दूसरे पर एक चर का पक्ष लेने का कारण नहीं होती है। – hadley

2

Sweave विकल्पों width और height पीडीएफ फाइल के आयाम नहीं बल्कि दस्तावेज़ में आंकड़ों का आकार को प्रभावित किया है। छोटे भूखंडों प्राप्त करने के लिए की तरह

\setkeys{Gin}{width=0.4\textwidth} 

\begin{document} के बाद रखो कुछ।

स्रोत: Sweave manual, सेकंड। 4.1.2