Representación de nubes de puntos

La función plot es una función genérica para la representación gráfica de objetos en R. Los gráficos más sencillos que permite generar esta función son nubes de puntos (x,y). Para ver un ejemplo utilizaremos el dataframe trees, disponible en el paquete datasets. Este dataframe contiene datos de tres variables medidas en una muestra de 31 cerezos: Girth (diámetro del tronco en pulgadas), Height (altura del árbol en pies) y Volume (volumen de madera en el árbol). Mostramos los datos a continuación:

data(trees)
trees
##    Girth Height Volume
## 1    8.3     70   10.3
## 2    8.6     65   10.3
## 3    8.8     63   10.2
## 4   10.5     72   16.4
## 5   10.7     81   18.8
## 6   10.8     83   19.7
## 7   11.0     66   15.6
## 8   11.0     75   18.2
## 9   11.1     80   22.6
## 10  11.2     75   19.9
## 11  11.3     79   24.2
## 12  11.4     76   21.0
## 13  11.4     76   21.4
## 14  11.7     69   21.3
## 15  12.0     75   19.1
## 16  12.9     74   22.2
## 17  12.9     85   33.8
## 18  13.3     86   27.4
## 19  13.7     71   25.7
## 20  13.8     64   24.9
## 21  14.0     78   34.5
## 22  14.2     80   31.7
## 23  14.5     74   36.3
## 24  16.0     72   38.3
## 25  16.3     77   42.6
## 26  17.3     81   55.4
## 27  17.5     82   55.7
## 28  17.9     80   58.3
## 29  18.0     80   51.5
## 30  18.0     80   51.0
## 31  20.6     87   77.0

El comando plot() ejecutado directamente sobre el dataframe muestra las nubes de puntos correspondientes a todas las posibles parejas de variables:

plot(trees)

Si sólo deseamos representar la altura del árbol frente al diámetro del tronco, especificamos simplemente estas dos variables:

with(trees,plot(Girth,Height))

Hemos utilizado aquí el comando with() para indicar a R que las variables que figuran en el plot debe leerlas del dataframe tree.





Representación de funciones matemáticas

La función plot() nos permite también representar fácilmente funciones matemáticas. Supongamos que queremos representar gráficamente la función coseno en el intervalo \(\left[0,2\pi\right]\). Para ello creamos el vector x, que servirá de soporte para la función, de la siguiente forma:

x=seq(0,2*pi,length=100)

(simplemente hemos generado 100 puntos equiespaciados en el intervalo \(\left[0,2\pi\right]\))

Para representar la función coseno evaluada en este conjunto de puntos podemos utilizar cualquiera de los comandos siguientes. ¿Cuál es la diferencia entre las gráficas obtenidas con cada uno de ellos?

plot(cos(x))
plot(x,cos(x))

Podemos mejorar esta gráfica si utilizamos las opciones type="l" (que construye el gráfico uniendo los puntos mediante lineas) y lwd=3 (que traza la linea con un grosor de 3 puntos)

plot(x,cos(x),type="l",col="blue",lwd=3)

Representación simultánea de varias funciones

Supongamos ahora que nuestro objetivo es construir el siguiente gráfico, en el que se representan simultáneamente las funciones sen(x) y cos(x) en \(\left[0,2\pi\right]\).

Veamos paso a paso como conseguirlo. Partimos de la sintaxis que ya utilizamos para dibujar el coseno; modificamos el título, eliminamos las estiquetas de los ejes, especificamos el color rojo para la escala numérica de los ejes y mediante las=1 indicamos que los números de dichas escalas se representan horizontalmente:

plot(x,cos(x),type="l",col="blue",lwd=3, main="Seno y Coseno", xlab="", ylab="", las=1, col.axis="red")

Añadimos ahora, mediante la función lines() la gráfica de la función seno:

plot(x,cos(x),type="l",col="blue",lwd=3, main="Seno y Coseno", xlab="", ylab="", las=1, col.axis="red")
lines(x,sin(x),col="green",lwd=3)

Por último añadimos la leyenda:

plot(x,cos(x),type="l",col="blue",lwd=3,main="Seno y Coseno",xlab="",ylab="",las=1,col.axis="red")
lines(x,sin(x),col="green",lwd=3)
legend("bottomleft",col=c("blue","green"),legend =c("Coseno","Seno"), lwd=3, bty = "n")



Sabiendo que:

  • El paquete plotrix contiene la función draw.circle();

  • El paquete graphics (que se carga por defecto al arrancar R) contiene la función rect();

  • La función lines() sirve para dibujar líneas rectas.

  • La función abline() sirve para dibujar rectas paralelas a los ejes

  • Y que la sintaxis:

plot(NA,type="n",xlim=c(-5,5),ylim=c(-5,5), asp=1)

genera un área de dibujo vacía con relación de aspecto 1 (esto es, las longitudes de ambos ejes son idénticas), escribe los comandos necesarios para generar la siguiente figura en R:












© 2016 Angelo Santana, Carmen N. Hernández, Departamento de Matemáticas   ULPGC