Quelles sont les alternatives pour dessiner une courbe simple pour une fonction comme
eq = function(x){x*x}
dans R?
Cela semble une question si évidente, mais je ne trouvais que ces questions connexes sur stackoverflow, mais elles sont toutes plus spécifiques.
J'espère que je n'ai pas écrit une double question.
Tu veux dire comme cela?
> eq = function(x){x*x}
> plot(eq(1:1000), type='l')
(Ou quelle que soit la plage de valeurs pertinente pour votre fonction)
J'ai fait des recherches sur le Web, et voici quelques façons que j'ai trouvées:
Le moyen le plus simple consiste à utiliser une courbe sans fonction prédéfinie
curve(x^2, from=1, to=50, , xlab="x", ylab="y")
Vous pouvez également utiliser la courbe lorsque vous avez une fonction prédéfinie
eq = function(x){x*x}
curve(eq, from=1, to=50, xlab="x", ylab="y")
Si vous voulez utiliser ggplot, vous avez le choix entre qplot
library("ggplot2")
eq = function(x){x*x}
qplot(c(1,50), fun=eq, stat="function", geom="line", xlab="x", ylab="y")
et ggplot
library("ggplot2")
eq = function(x){x*x}
ggplot(data.frame(x=c(1, 50)), aes(x=x)) + stat_function(fun=eq, geom="line") + xlab("x") + ylab("y")
plot
a une méthode plot.function
plot(eq, 1, 1000)
Ou
curve(eq, 1, 1000)
Voici une version en treillis:
library(lattice)
eq<-function(x) {x*x}
X<-1:1000
xyplot(eq(X)~X,type="l")
Solution réseau avec les paramètres supplémentaires dont j'avais besoin:
library(lattice)
distribution<-function(x) {2^(-x*2)}
X<-seq(0,10,0.00001)
xyplot(distribution(X)~X,type="l", col = rgb(red = 255, green = 90, blue = 0, maxColorValue = 255), cex.lab = 3.5, cex.axis = 3.5, lwd=2 )
X <-seq (0,10,0.00001)
col = rgb (rouge = 255, vert = 90, bleu = 0, maxColorValue = 255)
lwd = 2
cex.lab = 3.5, cex.axis = 3.5