2010-10-29 28 views
21

एक तरह से वक्र किसी दिए गए समारोह के लिए इसी आकर्षित करने के लिए एक से अधिक कार्य घटता ड्रा यह है:एक ही भूखंड में

fun1 <- function(x) sin(cos(x)*exp(-x/2)) 
plot (fun1, -8, 5) 

मैं एक समारोह के वक्र कैसे जोड़ सकते हैं (उदाहरण के लिए fun2 है, जो भी द्वारा परिभाषित किया गया है इसके गणितीय सूत्र) एक ही साजिश में?

+0

उपयोग plotFun {मोज़ेक} http://rgm3.lab.nig.ac.jp/RGM/R_rdfile?f=mosaic/man/plotFun.Rd&d=R_CC –

उत्तर

24
plot (fun2, -8, 5, add=TRUE) 

चेक भी curve के लिए पेज मदद करते हैं।

+8

ध्यान दें कि आप हमेशा 'add' पैरामीटर का उपयोग नहीं कर सकते हैं: यह यहां काम करता है क्योंकि आप साजिश के लिए एक फ़ंक्शन पास कर रहे हैं, लेकिन यदि आप लिखते हैं, उदाहरण के लिए,' प्लॉट (x, y, add = TRUE) 'आप बस एक चेतावनी प्राप्त करें कि 'add' एक ग्राफिकल पैरामीटर नहीं है। – nico

+1

@ निको हां। फ़ंक्शन कॉल 'वक्र' के लिए यह 'विशेष साजिश' का कारण है। यही कारण है कि हमेशा साजिश कार्यों के लिए 'वक्र' का उपयोग करें। – Marek

8

points फ़ंक्शन का उपयोग करें। इसमें plot के समान सटीक वाक्यविन्यास है।

तो, उदाहरण के लिए:

fun1 <- function(x) sin(cos(x)*exp(-x/2)) 

x <- seq(0, 2*pi, 0.01) 
plot (x, fun1(x), type="l", col="blue", ylim=c(-0.8, 0.8)) 
points (x, -fun1(x), type="l", col="red") 

नोट ylim, xlim, शीर्षक और इस तरह के केवल पहले plot कॉल से उपयोग किया जाता है जैसे कि साजिश मानकों।

+2

कैसे सीधे लाइनों के बारे में :) – VitoshKa

+0

हाँ, यह एक और विकल्प है । यह वास्तव में निर्भर करता है कि आपको क्या करना है ... आर में इस कार्य को पूरा करने के कई तरीके हैं :) – nico

5

का उपयोग बराबर()

fun1 <- function(x) sin(cos(x)*exp(-x/2)) 
fun2 <- function(x) sin(cos(x)*exp(-x/4)) 

plot(fun1, -8,5) 
par(new=TRUE) 
plot(fun2, -8,5) 
+1

मैं हर समय एक ही प्रतिमान का उपयोग करता हूं। आप शायद पहली साजिश में एक ylim = रेंज (...) अभिव्यक्ति चाहते हैं, शायद दूसरी साजिश में एक अलग रंग, xlab और ylab के साथ खेलें, यदि स्केलिंग ओवरलैप नहीं करता है तो अक्ष को दबाएं पीपी। कम से कम एक के लिए सामान्य समाधान जो आपने दिखाया है, उस सवाल का जवाब देता है :) –

22

matplot का उपयोग करना:

fun1<-function(x) sin(cos(x)*exp(-x/2)) 
fun2<-function(x) sin(cos(x)*exp(-x/4)) 
x<-seq(0,2*pi,0.01) 
matplot(x,cbind(fun1(x),fun2(x)),type="l",col=c("blue","red")) 
+6

matplot सबसे अच्छा जवाब है, क्योंकि यदि आप वक्र जोड़ने शुरू करते हैं तो आप उनके साथ मौजूदा साजिश क्षेत्र से बाहर निकल सकते हैं। matplot यह सब आपके लिए बाहर करता है, और यह सुनिश्चित करता है कि दोनों कार्य ध्यान में रहें। – Spacedman

+2

@ स्पेस्डैन: क्या होगा यदि आप पहले से ही कार्यों को नहीं जानते हैं? :) – nico

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