En este tutorial mostrare como crear gráficas sencillas en R base y con las funciones plot y curve.

Gráficas con la función plot
En este ejemplo se hace una gráfica sencilla con la función plot. La secuencia genera valores de x de 0 a 20 de uno en uno. Los únicos argumentos de plot son las entradas x e y. Note que la gráfica resultante tiene marcas en el ejex en 0, 5, 10, 15 y 20.
x=seq(from=0,to=20,by=1)
y=10*exp(-0.5*x)
plot(x,y)

En este ejemplo se modifican los cuatro márgenes de la ventana gráfica con la función par y su argumento mai. El argumento mai es un vector numérico de la forma c(fondo, izquierda, superior, derecha) que da el tamaño de los márgenes en pulgadas. Para especifcar los márgenes en número de líneas puede emplear el argumento mar en su lugar. Consulte la función par para una descripción detallada.
par(mai=c(1,1,0.5,0.5))
plot(x,y,type="o")

En este ejemplo se ocultan los marcadores del eje x con el argumento xaxt=“n” y luego se modifican de modo que cada marcador se asocie a un valor de x con la función axis. Ahora las marcas del eje x van de 0 a 20 de uno en uno en lugar de 0 a 20 de 5 en 5.
par(mar=c(4,5,1,1),cex.axis=0.8)
plot(x,y,type="o", xaxt="n")
axis(side=1,at=x)

En este ejemplo, las marcas del eje x se colocan del lado interior del eje con el argumento tck de la función axis. El usuario puede probar poner este argumento con valor negativo o colocar el valor de la unidad para ver que pasa.
par(mar=c(4,5,1,1),cex.axis=0.8)
plot(x,y,type="o", xaxt="n")
axis(side=1,at=x,tck=0.015)

En este ejemplo se modifica el lado donde aparecen los marcadores del eje x como antes, el color de las etiquetas de los marcadores con el argumento col.axis dentro de la función axis y su estilo con el argumento font.axis. También se modifica la posición de la etiqueta del eje x con la función title y su color con el argumento col.lab dentro de title. Puede revisar las opciones de la función par para lograr el mismo efecto en la gráfica.
par(mar=c(4,5,1,1),cex.axis=0.8)
plot(x,y,type="o", xaxt="n", xlab="")
axis(side=1,at=x,tck=0.015,font.axis=3,col.axis="purple")
title(xlab="eje x",line=1.8, col.lab="skyblue")

En este ejemplo, que es mucho más sencillo, se modifica el aspecto de la gráfica con el argumento type=“o”, su color con el argumento col=“steelblue”, se agregan leyendas al eje x y al eje y con los argumentos xlab y ylab y se modifica el grosor de la línea con el argumento lwd.
x=seq(0,10,0.5)
y=sqrt(x)
plot(x, y, type="o", col="steelblue", xlab="este es el eje x", ylab="este es el eje y", lwd=2 )

Este último ejemplo con plot muestra la gráfica anterior pero con los valores del eje vertical en posición horizontal y con las leyendas del eje y y del eje x a buena distancia del margen de la gráfica. Note que el efecto de yaxt=“n” es eliminar la escala de valores en el eje vertical; luego con axis se edita la escala con valores en posición horizontal (las=2). La opción line en title edita la distancia de las etiquetas, en número de líneas. Puede variar este valor para ver el efecto.
x=seq(0,10,0.5)
y=sqrt(x)
plot(x, y, type="o", col="steelblue", xlab="", ylab="", lwd=2,yaxt="n" )
axis(side=2, las=2)
title(ylab="este es el eje y", line=2.5)
title(xlab="este es el eje x", line=2)

Gráficas con la función curve
Esta función puede ser útil en el graficado rápido de funciones. Este es un ejemplo muy sencillo. Los parámetros son familiares pues se usan con plot. La gráfica es la de un polinomio de segundo orden en el intervalo de 0 a 10 en el eje x.
curve(1+x+x^2, from=0, to=10, col="steelblue", lwd=2, ylab="P(x)=1+x+x^2")

En este segundo ejemplo se agrega la opción type y n. Puedes ver el efecto del argumento n=20, simplemente eliminándolo o colocando un valor diferente de 20. En el caso de la opción type=“o” puedes ver su efecto al sustituirlo por las opciones: “type=p” o “type=l”. También, puedes agregar el argumento xlab=, ylim, y xlim a la función curve.
curve(1+x+x^2, from=0, to=10, col="steelblue", lwd=2, ylab="P(x)=1+x+x^2", type="p", n=20)

Ahora veamos el caso de múltiples curvas con la función curve en una sola ventana gráfica:

curve(10*exp(-0.4*x),0,10,col="blue")
curve(10*exp(-0.8*x),0,10, col="red", add=TRUE)
curve(exp(0.2*x),0,10, col="orange", lwd=2, add=TRUE)

Ahora veamos el caso de curve con escala semilogarítmica. Puede optar por log=“xy” o “log=”x" siempre que el rango de x no incluya cero o valores negativos.
curve(10*exp(-0.8*x),0,10, log="y",col="red")

También se puede usar curve con las funciones hist y points y algunas veces esto es beneficioso. Aquí solo muestro el ejemplo con la función hist.
x=rnorm(50, mean=10, sd=2)
hist(x, probability=TRUE, ylim=c(0, 0.30))
curve(dnorm(x,mean=10, sd=2),col="orange", lwd=2, add=TRUE)

Con la función curve se puede graficar tambien una función definida por el usuario.

mi_fun=function(x){exp(-0.5*x) +exp(0.2*x)}
curve(mi_fun, from=0, to=50, col="blue", type="p")

Este material puede ser editado por el autor con propósitos de mejora.