2012-10-23 8 views
5

कुछ कोड फिर से साजिश करने का एक तरीका है, लेकिन पूरे कोड को फिर से लिखने के बिना एक सबसेट किए गए डेटासेट का उपयोग करना है?पूरे कोड को टाइप किए बिना विभिन्न डेटा का उपयोग करके ggplot दोहराएं

शायद last_plot() की तरह कुछ है लेकिन किसी को डेटा.फ्रेम का उपयोग करने की अनुमति देता है?

+1

साथ लिख रहे थे कृपया अपने प्रश्न के साथ अधिक विशिष्ट - मैं _exactly_ नहीं बता सकता तुम क्या करने की कोशिश कर रहे हैं, या क्यों –

उत्तर

9

आप %+% ऑपरेटर का उपयोग कर सकते हैं:

##Two data sets: 
R> dd = data.frame(x = runif(10), y=runif(10)) 
R> dd_new = data.frame(x = runif(10), y=runif(10)) 

R> g = ggplot(dd, aes(x,y)) + geom_point() 
R> g 
R> g %+% dd_new 
+2

+1 उस को शुरू करने के लिए धन्यवाद! –

+0

शायद स्पष्ट है, लेकिन यह इंगित करने के लायक है कि '% +%' ऑपरेटर का उपयोग करने के बाद आप '+' ऑपरेटर का भी उपयोग जारी रख सकते हैं: 'g% +% dd_new + labs (title =" बेस्ट ग्राफ ")' – Nat

4

हालांकि मुझे लगता है Csgillespie के जवाब पूरा हो गया है कि। मैं एक माध्यमिक विधि जोड़ना चाहता हूं जिसे मैं व्यक्तिगत रूप से अक्सर उपयोग करता हूं, लेकिन शायद ही कभी जंगली में दिखाई देता है। कॉर्पोरेट/व्यक्तिगत विषयों को लागू करने और किसी के काम को पुनः टाइप करने से बचने के लिए यह बहुत अच्छा है।

आप एक सूची के रूप ggplot2 तत्वों को बचा सकता है, बस के रूप में ही आप उन्हें ... + ... +

default.point <- list(geom_point(), 
coord_flip(), 
theme(
axis.text.x=element_text(size=12 
))) 

ggplot(diamonds,aes(carat, price, colour=cut)) + default.point 
संबंधित मुद्दे

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