Introducción a ggplot2 de
R
Walter Bardales
Introducción
• La librería ggplot2 es un paquete de visualización de datos para el lenguaje
R que implementa lo que se conoce como la “Gramática de los Gráficos”,
que no es más que una representación esquemática y en capas de lo que se
dibuja en dichos gráficos, como lo pueden ser los marcos y los ejes, el texto
de los mismos, los títulos, así como, por supuesto, los datos o la información
que se grafica, el tipo de gráfico que se utiliza, los colores, los símbolos y
tamaños, entre otros.
Cómo funciona ggplot2?
Data
• ggplot espera como entrada un conjunto de datos limpio (tidy data) como
entrada.
• Dependiendo del tipo de gráfica que queramos crear, tendremos que crear
algún resumen de datos agregados, o incluso reestructurar el conjunto de
datos original.
• Podemos usar conjuntos de datos distintos para capas distintas.
aesthetics
•x
•y
• alpha
• colour
• fill
• Group
• shape
• linetype
• size
• stroke
geometries
• Scartter plot ( geom_point)
• Bar plot (geom_bar)
• Boxplot (geom_boxplot)
• Histogram (geom_histogram)
• Density (geom_density)
• Dot plot (geom_dotplot)
faceting
• Una posible forma de evitar el problema del overplotting es subdividir la
gráfica. La función facet_wrappermite indicar una faceta, es decir, un vector
de tipo carácter (normalmente, una variable categórica del conjunto de
datos).
statistics
• transformaciones estadísticas de los datos
coordinate
• por defecto ggplot aplicará coordenadas cartesianas al gráfico, pero
podemos modificar las escalas, así como el sistema de coordenadas (por
ejemplo, a un sistema polar)
Themes
• funciones y argumentos relacionados con aspectos gráficos a los datos
propiamente dichos: tipografía, fondo, aspecto de los ejes…
• Axis
• Title
• Panel
• Legend
• plot.background
Position
• ajustes para evitar que las marcas se superpongan
Scale
• Controla como se van a visualizer los datos en la grafica, puede ser escala de
los ejes, escala de colores, etc.
Labels y legends
• Sirve para poner etiquetas a los graficos
• Posición de las leyendas
ejemplo
ggplot(diamonds) +
geom_density(aes(x = carat, fill = clarity), position = 'stack') +
facet_grid(clarity~., scales = 'free') +
xlab("Carat") +
ylab("Frecuencia") +
ggtitle("Distribución de la variable Carat (Densidad) según variable Clarity")
+
theme_minimal()
Extensiones que usan ggplot2