Sistema de graficación básico
Se encapsula en los siguientes paquetes:
- graphics: plot,hist,boxplot, etc.
- grDevices: X11,PDF,PostScript,PNG, etc.
Elementos para la elaboración de una gráfica.
Considere:
- ¿Donde se hará la gráfica?, ¿en la pantalla o en un archivo?
- ¿Cómo se usará la gráfica?
    - ¿Es la gráfica temporal para mostrar en pantalla?
- ¿Será presentada en una página web?
- ¿Será una gráfica para una publicación? ¿Será impresa?
- ¿La usará en una presentación?
- ¿Son muchos los datos que se mostrarán en la gráfica? o ¿sólo unos pocos puntos?
- ¿Necesita que la gráfica cambie de tamaño dinámicamente?
- ¿Qué sistema de gráficas va a utilizar? básico, latticeoggplot2. En general no se pueden mezclar estos sistemas.
 
Sistemas de graficación en R
- El sistema básico construye la gráfica paso a paso, cada aspecto se contruye separademente.
- El sistema latticesólo usa una función donde se especifican todos los parámetros.
- El sistema  ggplot2combina conceptos tanto del básico como dellattice.
Sistema básico
Es la forma más común.
- 
    Se reliza mediante dos fases: - Se inicia una nueva gráfica.
- Se le adiciona las anotaciones a una gráfica existente.
 
- 
    Por ejemplo usando plot(x, y)ohist(x), simpre abre una nueva gráfica. Y funciones comolines(x, y)opoints(x)se adicionan a una gráfica ya existente.
- 
    Si el plot(x,y)no es de una clase especial, se usa el plot por omisión.
- 
    Tiene muchos argumentos, como título, etiqueta del eje x, etiqueta del ejey. Véase?par.
Ejemplos
require(datasets)
head(airquality)
hist(airquality$Ozone)
with(airquality, plot(Wind, Ozone))
airquality <- transform(airquality, Month2 = factor(Month))
boxplot(Ozone ~ Month2, airquality, xlab = "Mes", ylab = "Ozono (ppmm)")
Parámetros importantes
Algunos parámetros los comparten varias funciones:
- pch: El símbolo de la gráfica (por omisión un círculo abierto).
- lty: Tipo de línea (por omisión sólida, punteada, etc.).
- lwd: Grosor de la línea. Como un entero.
- col: Color. Puede ser con un número, una sarta, un código hexadesimal. La función- colors()muestra los nombres de los colores.
- xlab,- ylaby- main: Etiqueta- x,- yy título.


En la función par() se indican parámetros globales que afectan
una sesión de R. Algunos comunes son:
- las: La orientación de las etiquetas con respecto al eje de la gráfica.
- bg: El color de fondo.
- mar: Tamaño de la márgen.
- oma: Tamaños de la márgen exterior.
- mfrow- mfcol: Número de gráfica por fila y columa.
Valores por omisión de algunos parámetros
par("lty")
par("col")
par("pch")
par("bg")
par("mar")
par("mfrow")
Algunas funciones de graficación básicas
- plot: Diagrma de dispersión.
- lines: Adiciona líneas. Conecta puntos.
- points: Adiciona puntos.
- text: Adiciona texto en coordenadas- x,- y.
- title: Adiciona título, subtítulo, etiquetas.
- mtext: Adiciona téxto a las márgenes (interiores y exteriores)
- axis: Adciciona aspectos a los ejes.
Anotaciones
require(datasets)
#------------------------------------------------------------------------------#
with(airquality, plot(Wind, Ozone))
title(main = "Ozono y viento en la ciudad de Nueva York")
#------------------------------------------------------------------------------#
with(airquality, plot(Wind, Ozone,
                      main = "Ozono y viento en la ciudad de Nueva York"))
with(subset(airquality, Month == 5), points(Wind, Ozone, col = "blue"))
#------------------------------------------------------------------------------#
with(airquality, plot(Wind, Ozone,
                      main = "Ozono y viento en la ciudad de Nueva York",
                      xlab = "Velocidad del viento (Mph)",
                      ylab = "Ozono (ppmm)",
                      type = "n"))                      
with(subset(airquality, Month == 5),
     points(Wind, Ozone, col = "blue"))
with(subset(airquality, Month != 5),
     points(Wind, Ozone, col = "red"))
legend("topright", pch = 1, col = c("blue", "red"),
       legend = c("Mayo", "Demás meses"))
#------------------------------------------------------------------------------#       
# Con una recta de regresión
with(airquality, plot(Wind, Ozone,
                      main = "Ozono y viento en la ciudad de Nueva York",
                      pch = 20))
modelo <- lm(Ozone ~ Wind, airquality)
abline(modelo, lwd = 2)
Múltiples gráficas
op <- par(no.readonly = TRUE)
par(mfrow = c(1, 2))
with(airquality, {
     plot(Wind, Ozone, main = "Ozone y viento")
     plot(Solar.R, Ozone, main = "Ozone y radiación solar")
     })
par(op)
#------------------------------------------------------------------------------#
op <- par(no.readonly = TRUE)
par(mfrow = c(1, 3), mar = c(4, 4, 2, 1), oma = c(0, 0, 2, 0))
with(airquality, {
  plot(Wind, Ozone, main = "Ozone y viento")
  plot(Solar.R, Ozone, main = "Ozone y radiación solar")
  plot(Temp, Ozone, main = "Ozone y temperatura")
  mtext("Ozono y clima en la ciudad de Nueva York", outer = TRUE)
})
par(op)
Sistema de graficación “lattice”.
Se utilizan los siguientes paquetes:
- lattice: Produce gráficas tipo Trellis, que son independientes del modo básico. Ejemplo- xyplot,- bwplot,- levelplot.
- grid: Es el sistema sobre el cual el lattice se construye. Ráramente se utilizan sus funciones.
- No tiene la forma de “dos fases”.
- Las anotaciones se hacen al mismo tiempo al llamar la gráfica.
Algunas funciones son:
- xyplot: Esta es la función principal.
- bwplot: Caja y bigotes.
- histogram:
- stripplot: Como uno de caja y bigotes pero con puntos.
- dotplot: Diagrama de puntos.
- splom: Una matriz de gráficas.
- levelplot,- countourplot: Para datos de imágenes.
xyplot(y ~ x | f * g, data)
- Se usa la notación de fórmula, por eso la ~.
- En el lado izquierdo el eje yy en el lado derecho el ejex.
- fy- gson variables condicionales (generalmente factores).
- dataEs la base de datos en donde están las variables.
Ejemplo con “lattice”.
require(lattice)
require(datasets)
#------------------------------------------------------------------------------#
xyplot(Ozone ~ Wind, data = airquality)
#------------------------------------------------------------------------------#
airquality <- transform(airquality, Month2 = factor(Month))
xyplot(Ozone ~ Wind | Month2, data = airquality, layout = c(5, 1))
Comportamiento de “lattice”.
- La gráficas básicas se depliegan directamente al
dispositivo (device) ya sea la pantalla, un archivo PDF, etc.
- Las funciones latticedevuelven un objeto tipo trellis.
- Estos objetos se pueden guardar y luego imprimir.
- Cuando se utilizan los comando latticeen la consola los resultados se “autoimprimen”.
p <- xyplot(Ozone ~ Wind, data = airquality)
 ## No muestra nada.
print(p) ## Se muestra la gráfica.
#------------------------------------------------------------------------------#
xyplot(Ozone ~ Wind, data = airquality) ## Se autoimprime
Funciones de panel de “lattice”.
- La función panel controla lo que pasa en cada uno de los páneles de la gráfica.
- El paquete latticeviene con funciones de panel por omisión, pero uno puede construir funciones propias.
- Las funciones panel reciben las coordenadas xyyjunto con otros parámetros.
set.seed(10)
x <- rnorm(100)
f <- rep(0:1, each = 50)
y <- x + f - f * x + rnorm(100, sd = 0.5)
f <- factor(f, labels = c("Groupo 1", "Groupo 2"))
xyplot(y ~ x | f, layout = c(2, 1)) ## Gráfica con dos páneles
#------------------------------------------------------------------------------#
xyplot(y ~ x | f, panel = function(x, y, ...) {
       panel.xyplot(x, y, ...) ## Llamado a la función xyplot
       panel.abline(h = median(y), lty = 2) ## Adcionar una línea horizontal para la mediana
})
#------------------------------------------------------------------------------#
xyplot(y ~ x | f, panel = function(x, y, ...) {
       panel.xyplot(x, y, ...) ## Llamado a la función xyplot
       panel.lmline(x, y, col = 2) ## Una línea de regresión
})