2009-09-08 18 views
46

मुझे पता है किपीडीएफ और एकाधिक पीडीएफ के कई पृष्ठों पर आर ग्राफिक्स कैसे मुद्रित करें?

pdf("myOut.pdf") 

आर में एक पीडीएफ क्या होगा यदि मैं

  1. एक पाश है कि एक पीडीएफ फाइल के नए पृष्ठों पर अनुवर्ती रेखांकन प्रिंट बनाना चाहते करने के लिए प्रिंट होगा (करने के लिए जोड़कर समाप्त)?

  2. एक लूप बनाएं जो बाद के ग्राफ को नई पीडीएफ फाइलों (प्रति फ़ाइल एक ग्राफ) में प्रिंट करता है?

उत्तर

50

यदि आपको मदद की (पीडीएफ) को देखने गए थे?

उपयोग:

pdf(file = ifelse(onefile, "Rplots.pdf", "Rplot%03d.pdf"), 
    width, height, onefile, family, title, fonts, version, 
    paper, encoding, bg, fg, pointsize, pagecentre, colormodel, 
    useDingbats, useKerning) 

तर्क:

file: a character string giving the name of the file. For use with 
     'onefile=FALSE' give a C integer format such as 
     '"Rplot%03d.pdf"' (the default in that case). (See 
     'postscript' for further details.) 

1 के लिए), तो आप सही का डिफ़ॉल्ट मान पर onefile रहते हैं। कई भूखंड एक ही फाइल में जाते हैं।

2 के लिए), आप एक फ़ाइल को FALSE पर सेट करते हैं और सी पूर्णांक प्रारूप के साथ फ़ाइल नाम चुनते हैं और आर फाइलों का एक सेट बना देगा।

+3

यदि आप ग्रिड लेआउट का उपयोग कर रहे हैं तो आप अगले पीडीएफ पेज पर कैसे जाते हैं? उदाहरण के लिए आप कुछ ggplots तैयार करते हैं, उन्हें बहु पृष्ठ पीडीएफ के पी 1 पर व्यूपोर्ट्स में डालते हैं, लेकिन आप पेज 2 पर जाने के लिए अगला व्यूपोर्ट कैसे प्राप्त करते हैं ... 3 .... आदि? –

33

मुझे यकीन नहीं है कि मैं समझता हूं। प्रत्येक पाश के लिए

pdf("myOut.pdf") 
for (i in 1:10){ 
    plot(...) 
} 
dev.off() 

नई फ़ाइल: एक ही फाइल को

जोड़ (प्रति पृष्ठ एक साजिश)

for (i in 1:10){ 
    pdf(paste("myOut",i,".pdf",sep="")) 
    plot(...) 
    dev.off() 
} 
+5

तुम भी पेस्ट (आवश्यकता नहीं है) फ़ाइल नामों से अधिक - आर कर सकते हैं कि आप के लिए भी; मेरा जवाब देखें –

+0

आप प्रत्येक पृष्ठ में कई भूखंड कैसे शामिल कर सकते हैं? उदाहरण के लिए एक पृष्ठ में 5 भूखंड, और अगले पृष्ठ में अगले 5 भूखंड। मैंने 'प्लॉट' कमांड से पहले 'par (mfrow = c (5,1))' को शामिल करने का प्रयास किया है, लेकिन मुझे केवल यह पता चला है कि प्रत्येक प्लॉट (इस मामले में 10 प्लॉट) 10 पृष्ठों में दिखाई देता है लेकिन आकार के आकार के साथ फ़ंक्शन 'par' में परिभाषित आयाम, इस मामले में 5 पंक्तियां और 1 कॉलम। अग्रिम धन्यवाद – Ruben

+0

@ रूबेन। आपको pard (mfrow = c (5,1)) से पहले पीडीएफ() को कॉल करना चाहिए (यानी: विपरीत दिशा में नहीं)। आप पीडीएफ() मार्जिन में चौड़ाई और ऊंचाई बढ़ाने पर भी विचार कर सकते हैं। उम्मीद है की यह मदद करेगा। – user3375672

2
pdf(file = "Location_where_you_want_the_file/name_of_file.pdf", title="if you want any") 
plot() # Or other graphics you want to have printed in your pdf 
dev.off() 

के रूप में आप पीडीएफ में जितने चाहें, उतने बातें प्लॉट कर सकते हैं, भूखंडों विभिन्न पृष्ठों में पीडीएफ में जोड़ दिया जाएगा। dev.off() फाइल करने के लिए कनेक्शन बंद कर देता है और पीडीएफ बनाया जाएगा और आप करेंगे se कुछ की तरह

> dev.off() 
null device 1 
संबंधित मुद्दे