superponer - Cómo trazar una curva de función en R
superponer graficas en r ggplot (5)
¿Quieres decir así?
> eq = function(x){x*x}
> plot(eq(1:1000), type=''l'')
(O cualquier rango de valores relevante para su función)
¿Cuáles son las alternativas para dibujar una curva simple para una función como
eq = function(x){x*x}
en R?
Parece una pregunta tan obvia, pero solo pude encontrar estas preguntas relacionadas en stackoverflow, pero todas son más específicas
- Función de línea de trazado en R
- Trazar funciones en la parte superior de los puntos de datos en R
- ¿Cómo puedo trazar una función en R con números complejos?
- ¿Cómo trazar una función lineal por partes simple?
- Dibuja más de una función de curvas en el mismo diagrama
Espero no haber escrito una pregunta duplicada.
Aquí hay una versión reticular:
library(lattice)
eq<-function(x) {x*x}
X<-1:1000
xyplot(eq(X)~X,type="l")
Hice algunas búsquedas en la web, y estas son algunas de las formas que encontré:
La forma más fácil es usar la curva sin una función predefinida
curve(x^2, from=1, to=50, , xlab="x", ylab="y")
También puede usar la curva cuando tiene una función predefinida
eq = function(x){x*x}
curve(eq, from=1, to=50, xlab="x", ylab="y")
Si desea utilizar ggplot, puede elegir entre qplot
library("ggplot2")
eq = function(x){x*x}
qplot(c(1,50), fun=eq, stat="function", geom="line", xlab="x", ylab="y")
y 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")
Solución de celosía con configuraciones adicionales que necesitaba:
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 )
- Si necesita su rango de valores para x graficados en incrementos diferentes de 1, por ejemplo 0.00001 puede usar:
X <-seq (0,10,0.00001)
- Puede cambiar el color de su línea definiendo un valor rgb:
col = rgb (rojo = 255, verde = 90, azul = 0, maxColorValue = 255)
- Puede cambiar el ancho de la línea trazada configurando:
lwd = 2
- Puede cambiar el tamaño de las etiquetas al escalarlas:
cex.lab = 3.5, cex.axis = 3.5
plot
tiene un método
plot.function
plot(eq, 1, 1000)
O
curve(eq, 1, 1000)