आर

2009-12-05 11 views
9

में डेटापॉइंट्स के शीर्ष पर प्लॉटिंग फ़ंक्शन ggplot का उपयोग कर डेटा के शीर्ष पर गणितीय फ़ंक्शन को ओवरले करने का कोई तरीका है?आर

## add ggplot2 
library(ggplot2) 

# function 
eq = function(x){x*x} 

# Data      
x = (1:50)  
y = eq(x)                

# Make plot object  
p = qplot( 
x, y, 
xlab = "X-axis", 
ylab = "Y-axis", 
) 

# Plot Equation  
c = curve(eq) 

# Combine data and function 
p + C#? 

इस मामले में अपने डेटा समारोह का उपयोग कर उत्पन्न होता है, लेकिन मैं समझने के लिए ggplot साथ curve() का उपयोग कैसे करना चाहते हैं।

उत्तर

16

आप शायद stat_function हैं:

library("ggplot2") 
eq <- function(x) {x*x} 
tmp <- data.frame(x=1:50, y=eq(1:50)) 

# Make plot object 
p <- qplot(x, y, data=tmp, xlab="X-axis", ylab="Y-axis") 
c <- stat_function(fun=eq) 
print(p + c) 

और तुम सच में curve(), यानी, गणना x और y निर्देशांक उपयोग करना चाहते हैं:

qplot(x, y, data=as.data.frame(curve(eq)), geom="line") 
3

यह देखते हुए कि आपके सवाल का शीर्षक "की साजिश रचने कार्यों है आर में ", बेस आर प्लॉट में फ़ंक्शन जोड़ने के लिए curve का उपयोग कैसे करें।

के रूप में पहले

eq = function(x){x*x}; x = (1:50); y = eq(x) 

तो आधार ग्राफिक्स से plot का उपयोग add=TRUE तर्क के साथ अंक curve के बाद प्लॉट करने के लिए, वक्र जोड़ने के लिए डेटा बनाएँ।

plot(x, y, xlab = "X-axis", ylab = "Y-axis") 
curve(eq, add=TRUE)