2012-12-28 19 views
14

का उपयोग कर लाटेक्स पीडीएफ में ggplot2 आउटपुट एम्बेड करना अतीत में, मैंने ggplot2 बनाने के लिए RStudio का उपयोग किया है और फिर उन्हें RSudio के भीतर से पीडीएफ के रूप में निर्यात किया है। यह fantastically काम करता है।knitr और RStudio

अब मैं बुनाई का उपयोग करके स्वचालित करने की कोशिश कर रहा हूं, लेकिन मुझे उच्च गुणवत्ता वाले आउटपुट बनाने के लिए ग्राफ ऊंचाई और वजन निर्धारित करने में परेशानी हो रही है।

मेरा वर्तमान प्रयास यहां है, लेकिन "साइड बाय साइड" ग्राफ नहीं हैं, घुमावदार परिदृश्य ग्राफ नहीं है, और संकल्प कम लगता है।

मैं किसी भी सलाह की सराहना करता हूं। ऐसा लगता है कि ggplot2 और knitr दोनों सक्रिय विकास के अधीन हैं, जो कि बहुत अच्छा है, हालांकि, इंटरनेट खोज ने मेरी अस्थिरता का नेतृत्व किया है। लाटेक्स मेरे लिए नया है। मैं इस उपकरण के सेट के लिए किसी भी सामान्य वर्कफ़्लो रणनीतियों की भी सराहना करता हूं। अग्रिम में धन्यवाद।

\documentclass[letterpaper]{article} 
\usepackage{lscape} 
\begin{document} 
<<load, echo=FALSE, results='hide', warning=FALSE, message=FALSE>>= 
require(ggplot2) 
@ 

Two on the first page. 
<<first, echo=FALSE, fig.height=3, fig.cap="This is first", fig.pos='h'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 

Blah, blah, blah. 
<<second, echo=FALSE, fig.height=3, fig.cap="This is second", fig.pos='h'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
\newpage 
Second page. 

Side by side images: 

<<third, echo = FALSE, out.width="2in", fig.cap='Side by side'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
\newpage 
\begin{landscape} 
This page is rotated 
<<fourth, echo = FALSE, out.width="4in", fig.cap='Landscape'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
\end{landscape} 
\end{document} 

उत्तर

9

मैं तुम्हें वहाँ जिस तरह से अधिकतम लाभ उठाने कर सकते हैं:

\documentclass[letterpaper]{article} 
\usepackage{lscape} 
\usepackage{float} 
\begin{document} 
<<load, echo=FALSE, results='hide', warning=FALSE, message=FALSE>>= 
require(ggplot2) 
@ 

Two on the first page. 
<<first, echo=FALSE, fig.height=3, fig.cap="This is first", fig.pos='h'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 

Blah, blah, blah. 
<<second, echo=FALSE, fig.height=3, fig.cap="This is second", fig.pos='h'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 

\newpage 
Second page. 

Side by side images: 

\begin{figure}[H] 
<<third, echo = FALSE, out.width="0.48\\linewidth",fig.width = 3.5,fig.height=2>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
\caption{Side by side} 
\end{figure} 

\newpage 
\begin{landscape} 
This page is rotated. 
<<fourth, echo = FALSE, fig.width = 4,fig.height = 3,out.width = "0.9\\linewidth">>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
\end{landscape} 
\end{document} 

गुणवत्ता मेरे लिए ठीक लग रहा है, लेकिन केवल तभी मैं अपने सिस्टम PDF व्यूअर (पूर्वावलोकन, ओएस एक्स) का उपयोग करें। आरस्टूडियो पीडीएफ व्यूअर में निर्मित अतीत में मेरे लिए कुछ प्रतिपादन मुद्दे हैं, इसलिए मैं इसका उपयोग नहीं करता हूं।

मुझे यकीन नहीं है कि लैंडस्केप पृष्ठ पर आकृति को पाठ के नीचे कैसे मजबूर किया जाए। आम तौर पर, मैं पिछले आंकड़ों के साथ फ्लोट पैकेज के साथ ऐसा करता हूं, लेकिन यह परिदृश्य में काम नहीं करता है। मैं अनुशंसा करता हूं कि आप उस पर tex.stackexchange.com पर लोगों से परामर्श लें, क्योंकि यह काफी लाटेक्स विशिष्ट है।

fig.width, fig.height और out.width के बीच इंटरप्ले नहीं। दोनों के साथ खेलें और देखें कि छवि के आकार के साथ छवि के आकार के तत्वों के स्केलिंग के विरुद्ध क्या होता है। जब यह बनाया गया है तो वास्तविक आकृति आकार पर कोई प्रभाव पड़ता है, और अन्य प्रभाव यह है कि जब यह लाटेक्स दस्तावेज़ (मुझे लगता है) में शामिल किया गया है तो यह छवि कैसे स्केल की जाती है।

यह भी ध्यान दें कि मैंने पक्ष-दर-पक्ष के लिए चित्र वातावरण में \caption{} का उपयोग किया है, अन्यथा यह प्रत्येक आकृति के लिए एक कैप्शन बनाने का प्रयास करेगा।

6

घुमाया चौथे पृष्ठ के बारे में सुनिश्चित नहीं हैं, लेकिन साथ-पक्ष भूखंडों हो रही fig.show='hold' और out.width='.45\\linewidth'

<<third, echo = FALSE, out.width="2in", fig.cap='Side by side',out.width='.45\\linewidth',fig.show='hold'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
की आवश्यकता है

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

  • कोई संबंधित समस्या नहीं^_^