2016-08-09 25 views
6

का उपयोग कर कई पीडीएफ पृष्ठों में भूखंड कैसे प्राप्त करें मुझे कई पीडीएफ पृष्ठों में ग्राफ को संसाधित करने में मदद की ज़रूरत है। मैं कई में एक प्रारूप का 4 से 4 में मेरे भूखंडों प्राप्त करने के लिए एक कोड करना चाहते हैं मेरी छवियाँggplot2

enter image description here

बंटवारे के बिना

file <- read.csv(file="file.csv") 
library(ggplot2) 
library(gridExtra) 
library(plyr) 

gg1 <- ggplot() + 
    geom_line(aes(x=TIME, y=var1, colour = "z1"), file) + 
    geom_line(aes(x=TIME, y=var2, colour = "z2"), file) + 
    geom_point(aes(x=TIME, y=var3), file) + facet_wrap(~ ID, ncol=5)+ 
    xlab("x") + 
    ylab("Y") + 
    ggtitle(" x ") + scale_colour_manual(name="Legend", 
    values=c(z1="red", z2 ="blue")) + theme(legend.position="bottom") 
gg10 = do.call(marrangeGrob, c(gg1, list(nrow=4, ncol=4))) 
ggsave("need10.pdf", gg10) 

यहाँ, बनाई छवि है: यहाँ मेरे वर्तमान कोड है पृष्ठों की है। मेरे कोड की आखिरी दो पंक्तियों को समायोजन की आवश्यकता है और मुझे नहीं पता कि इसे स्वयं कैसे ठीक किया जाए।

+1

यह उपयोगी लगता है: [ggplot2 के लिए अतिरिक्त कार्यों का एक सेट] (https://github.com/guiastrennec/ggplus)। मैं 'facet_wrap एकाधिक पेजों' googled। –

+0

मैंने 'multi.plot <- marrangeGrob को प्रतिस्थापित किया है (grobs = gg1, nrow = 2, ncol = 2, top = quote (पेस्ट (gg1 $ लेबल $ शीर्षक, '\ n पृष्ठ', g, 'of', पृष्ठों))) पीडीएफ ('example_marrangeGrob.pdf', w = 12, h = 8) प्रिंट (multi.plot) dev.off() 'लेकिन त्रुटि प्राप्त हुई _ glist में त्रुटि (डेटा = सूची (wrapvp = list (x = 0.5 , y = 0.5, width = 1, "gList" _ में केवल 'grobs' की अनुमति है। क्या इसे ठीक करने का कोई तरीका है? – Monklife

उत्तर

9

ggplus रैपर जो आप चाहते हैं वह करने के लिए प्रतीत होता है। मैं अपने मूल से नीचे कोड ब्लॉक में चीजों के एक जोड़े को बदल दिया: facet_wrap बाहर टिप्पणी की है, और file तो ggplot में ले जाया जाता है कि यह प्रत्येक geom_* में फिर से निर्दिष्ट करने की जरूरत नहीं है कि:

gg1 <- ggplot(file) + 
    geom_line(aes(x=TIME, y=var1, colour = "z1")) + 
    geom_line(aes(x=TIME, y=var2, colour = "z2")) + 
    geom_point(aes(x=TIME, y=var3)) + 
    # facet_wrap(~ ID, ncol=5) + 
    xlab("x") + 
    ylab("Y") + 
    ggtitle(" x ") + 
    scale_colour_manual(name="Legend", 
    values=c(z1="red", z2 ="blue"), 
    labels=c("X","Y")) + 
    theme(legend.position="bottom") 

devtools::install_github("guiastrennec/ggplus") 
library(ggplus) 
pdf("need10.pdf") 
gg10 <- facet_multiple(plot=gg1, facets="ID", ncol = 4, nrow = 4) 
dev.off() 

enter image description here enter image description here

+0

आपको बहुत बहुत धन्यवाद !!! यह आश्चर्यजनक है! यह मुझे शायद एक और ~ 4 ​​घंटे बचाता है चारों ओर देखने के लिए। – Monklife

+0

अंतिम पृष्ठ साजिश प्रिंट नहीं करता –

+0

@Weihuang Wong यदि आप इस प्रश्न के साथ मेरी मदद कर सकते हैं तो मैं अत्यधिक सराहना करता हूं https: // stackover flow.com/questions/45475249/ggplusplots-on-multiple-pages – aelwan