SlideShare una empresa de Scribd logo
Curso sobre el software estad´ıstico R: La librer´ıa ggplot2
Ponente: Carlos P´erez Glez.
Entidades participantes en el curso:
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 1 / 20
La librer´ıa ggplot2
1 Es un paquete que permite generar gr´aficos estad´ısticos.
2 Se diferencia de otras librer´ıas en el aspecto de controlar una gran n´umero de componentes
gr´aficos (“gram´atica de gr´aficos”).
3 Los gr´aficos se pueden construir a˜nadi´endole sucesivamente m´as atributos o capas (“layers”).
Libro: H.Wickham (2009). ggplot2: Elegant Graphics for Data Analysis 123, Use R!, Springer
Website: http://had.co.nz/ggplot2 Tutorial:
http://www.ceb-institute.org/bbs/wp-content/uploads/2011/09/handout ggplot2.pdf
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 2 / 20
El comando qplot()
Los comandos gr´aficos disponibles en ggplot2 son:
qplot() - para “quick plots”
ggplot() - para mejor ajuste y control de todo
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 3 / 20
El comando qplot(): ejemplos
Veamos algunos ejemplos:
qplot(data=data.geo.municipios ,x=Superficie ,main="Histograma de superficie",binwidth =50)
qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , main="Gr´afico de superficie vs. altitud")
qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , main="Gr´afico de superficie vs. altitud",
xlab="Superficie de la isla", ylab="Altitud de la isla")
qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , main="Gr´afico de superficie vs. altitud",
xlab="Superficie de la isla", ylab="Altitud de la isla",
xlim=c(0 ,2500) , ylim=c(0 ,1500))
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 4 / 20
Color, tama˜no, forma (aspectos est´eticos)
Con el comando cl´asico plot(), si queremos representar variables categ´oricas (e.g. una variable de
tipo sexo, “Hombre”,“Mujer”) con colores, debemos realizar nosotros mismos la correspondencia
entre categor´ıa y color.
En qplot() se puede especificar varios argumentos: colour, size, shape
qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , colour = Isla ,
main="Gr´afico de superficie vs. altitud",
xlab="Superficie", ylab="Altitud")
qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , size = Isla ,
main="Gr´afico de superficie vs. altitud",
xlab="Superficie", ylab="Altitud")
qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , shape = Isla ,
main="Gr´afico de superficie vs. altitud",
xlab="Superficie", ylab="Altitud") +
scale_shape_manual(values =1:7)
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 5 / 20
Objetos geom´etricos
qplot no est´a limitado a gr´aficos de dispersi´on (scatterplot), sino que puede producir casi
cualquier tipo de gr´afico variando el argumento geom.
geom = “point” representa puntos para producir un scatterplot. Esta es la opci´on por
defecto cuando se pasan argumentos x e y a qplot().
geom = “boxplot” produce un gr´afico box-and-whisker plot de resumen de la distribuci´on de
un conjunto de puntos.
geom = “smooth” ajusta una curva suavizada a los datos (smoother) y su error est´andar.
Esta opci´on se combina con un argumento method %in % c(“loess”,“gam”,“lm”,“rlm”) (ver
http://docs.ggplot2.org/0.9.3/stat smooth.html)
geom = “path” and geom = “line” representa lineas entre los puntos.
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 6 / 20
Ejemplos de ggplot() - objetos geom´etricos
Vemos algunos ejemplos:
qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = "point")
qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = "boxplot", colour = Isla) # cuidado con el tipo
qplot(data=data.geo.municipios ,x=Isla ,y=Altitud , geom = "boxplot")
qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = "smooth", method="loess")
qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = c("point", "smooth"), method="lm")
qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = "path")
qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = "line")
qplot(data=data.geo.municipios , x=Provincia , geom = "bar")
qplot(data=data.geo.municipios , x=Superficie , geom = "histogram")
qplot(data=data.geo.municipios , x=Superficie , geom = "density")
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 7 / 20
Comprensi´on de la gram´atica de capas
1 Podemos usar s´olo qplot() pero la verdadera potencia de ggplot2 est´a en el manejo de los
gr´aficos por capas (gram´atica de capas) mediante ggplot().
2 El qplot recorta bastantes detalles de ggplot() a pesar que permite una sintaxis m´as familiar
y cercana al plot().
3 Con ggplot(), sin embargo, es posible incorporar a un gr´afico diferentes niveles de detalle
mediante sucesivas capas (layers).
ggplot(data , mapping) +
layer(
geom = "",
stat = "",
position = "", ....
)
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 8 / 20
Otros objetos geom´etricos en ggplot2
Name Description
abline Line, specified by slope and intercept
area Area plots
bar Bars, rectangles with bases on y-axis
boxplot Box-and-whisker plot
contour Display contours of a 3d surface in 2d
errorbar Error bars
histogram Histogram
line Connect observations, in order of x value
point Points, as for a scatterplot
polygon Polygon, a filled path
step Connect observations by stairs
text Textual annotations
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 9 / 20
Algunas transformaciones estad´ısticas en ggplot2
Name Description
bin Bin data
boxplot Calculate components of box-and-whisker plot
contour Contours of 3d data
density Density estimation
function Superimpose a function
identity Don’t transform data
quantile Continuous quantiles
smooth Add a smoother
step Create stair steps
sum Sum unique values. Useful for overplotting on scatterplots
summary Summarise y values at every unique x
unique Remove duplicates
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 10 / 20
Scatterplot en ggplot2
Un scatterplot:
ejemplo1 <-qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , colour = Isla)
se compone de (http://docs.ggplot2.org/current/index.html):
Un conjunto de datos por defecto (data).
Una asignaci´on de variables del conjunto de datos a atributos gr´aficos (aesthetics).
ejemplo1 <-ggplot(data=data.geo.municipios , mapping=aes(x=Superficie ,y=Altitud , colour=Isla ))
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 11 / 20
Scatterplot en ggplot2: layers
Y de las siguientes capas o layers:
El tipo de objeto geom´etrico (punto, l´ınea, barra, . . . ) utilizado para la representaci´on
(geom).
ejemplo1 + layer(geom="point") # o tambien : ejemplo1 + geom_point ()
Una transformaci´on estad´ıstica (suma, densidad, boxplot,..) de los datos (stat).
ejemplo1 + layer(geom="point", stat="identity" ) # o tambien : ejemplo1 + geom_point(stat =" identity ")
# o tambien : ejemplo1 + geom_point ()
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 12 / 20
Scatterplot en ggplot2: otros aspectos
Adem´as, se puede
Controlar c´omo se asignan las variables del conjunto de datos a los atributos aesthetics
(scales). Por ejemplo, la forma (shape) o el tama˜no (size) de los objetos puede cambiar
seg´un el valor de las variables.
ejemplo1 <-ggplot(data=data.geo.municipios , mapping=aes(x=Superficie ,y=Altitud , colour=Isla ))
ejemplo1 + geom_point(mapping=aes(shape=Provincia) ) + scale_shape(solid = FALSE) # cambiar la forma
ejemplo1 + geom_point(mapping=aes(size=Provincia) ) + scale_size_discrete(range = c(2, 4) ) # cambiar el tama~n
Cambiar el sistema de representaci´on de coordenadas (coord)
ejemplo1 + geom_point () + coord_polar ()
Especificar la visualizaci´on de subconjuntos de los datos en diferentes paneles (facet)
ejemplo1 + geom_point () + facet_grid (. ~ Provincia)
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 13 / 20
Gr´afico de barras en ggplot2
Un diagrama de barras:
ejemplo2 <-qplot(data=data.geo.municipios ,x=Provincia , geom = "bar", fill = Isla)
La asignaci´on o mapping de variables (atributos aesthetics):
ejemplo2 <-ggplot(data=data.geo.municipios , mapping=aes(x=Provincia , fill=Isla ))
El tipo de objeto geom:
ejemplo2 + layer(geom="bar") # o tambien : ejemplo2 + geom_bar ()
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 14 / 20
Gr´afico de barras en ggplot2: layers
La transformaci´on estad´ıstica stat:
ejemplo2 + layer(geom="bar", stat="bin" )
# o tambien : ejemplo2 + geom_bar(stat =" bin ")
# o tambien : ejemplo2 + geom_bar ()
El ajuste de posici´on en el gr´afico (position):
ejemplo2 + layer(geom="bar", stat="bin", position="dodge")
# o tambien : ejemplo2 + geom_bar( position = position _dodge () )
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 15 / 20
Otros gr´aficos en ggplot2
Algunos ejemplos mas (densidad e histograma):
qplot(data=data.espacios.nat , x=Superficie , geom = "density", colour = Isla)
# las densidades son superpuestas
ggplot(data=data.espacios.nat , mapping=aes(x=Superficie ,colour=Isla )) +geom_density ()
qplot(data=data.espacios.nat , x=Superficie , geom = "histogram", colour = Isla)
# los histogramas son apilados y se colorea el borde
ggplot(data=data.espacios.nat , mapping=aes(x=Superficie ,colour=Isla )) +geom_histogram ()
qplot(data=data.espacios.nat , x=Superficie , geom = "histogram", fill = Isla)
# los histogramas son apilados y se colorea el interior
ggplot(data=data.espacios.nat , mapping=aes(x=Superficie ,fill=Isla )) +geom_histogram ()
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 16 / 20
Otros gr´aficos en ggplot2
Algunos ejemplos mas (gr´aficos de barras):
qplot(data=data.espacios.nat , x=Espacio.natural , geom = "bar", fill = Isla)
# tambi´en los gr´aficos de barras son apilados
ggplot(data=data.espacios.nat , mapping=aes(x=Espacio.natural ,fill=Isla )) +geom_bar(position=position_dodge () )
qplot(data=data.espacios.nat , x=Espacio.natural , geom = "bar", fill = Isla , position="dodge")
# barras colocadas unas al lado de otras
ggplot(data=data.espacios.nat , mapping=aes(x=Espacio.natural ,fill=Isla )) +geom_bar()
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 17 / 20
Otros gr´aficos en ggplot2
Algunos ejemplos mas:
qplot(data=data.geo.municipios , x=Provincia , geom = "bar")
ggplot(data=data.geo.municipios , mapping=aes(x=Provincia )) +geom_bar()
qplot(data=data.geo.municipios , x=Provincia , geom = "bar", fill = Isla)
ggplot(data=data.geo.municipios , mapping=aes(x=Provincia ,fill = Isla )) +geom_bar ()
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 18 / 20
Otros gr´aficos en ggplot2
Algunos ejemplos mas:
qplot(data=data.geo.municipios , x=Superficie , geom = "histogram")
ggplot(data=data.geo.municipios , mapping=aes(x=Superficie) +geom_histogram ()
qplot(data=data.geo.municipios , x=Superficie , geom = "density")
ggplot(data=data.geo.municipios , mapping=aes(x=Superficie) +geom_density ()
qplot(data=data.geo.municipios , x=Superficie , geom = "density", colour = Provincia) # las densidades son super
ggplot(data=data.geo.municipios , mapping=aes(x=Superficie , colour = Provincia )) +geom_density ()
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 19 / 20
Otros gr´aficos en ggplot2
Algunos ejemplos mas:
qplot(data=data.geo.municipios , x=Superficie , geom = "histogram", colour = Provincia)
# los histogramas son apilados y se colorea el borde
qplot(data=data.geo.municipios , x=Superficie , geom = "histogram", fill = Provincia)
# los histogramas son apilados y se colorea el interior
qplot(data=data.geo.municipios , x=Superficie , geom = "histogram", fill = Provincia , position="dodge")
# las barras se pueden representar sin apilar
Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 20 / 20

Más contenido relacionado

PDF
Paquete ggplot - Potencia y facilidad para generar gráficos en R
PDF
(1) Curso sobre el software estadístico R. Introducción al entorno R
PDF
(4) Curso sobre el software estadístico R: La librería maptools
PDF
Análisis espacial con R (asignatura de Master - UPM)
PPTX
Estadística con Lenguaje R: Sesión 9
PDF
Función exponencial y logarítmica
PPTX
Operaciones Con Funciones
PDF
Paquete ggplot - Potencia y facilidad para generar gráficos en R
(1) Curso sobre el software estadístico R. Introducción al entorno R
(4) Curso sobre el software estadístico R: La librería maptools
Análisis espacial con R (asignatura de Master - UPM)
Estadística con Lenguaje R: Sesión 9
Función exponencial y logarítmica
Operaciones Con Funciones

La actualidad más candente (20)

PDF
Matlab 2 Capitulo 6
PPTX
Renderización en java
PPTX
Graficos matlab
PPT
Resta de funciones.mejorado
PDF
Guia de actividades
PDF
Graficos en matlab
PDF
Soza,Diego.2013.Tutorial de reproyección utilizando Arc Catalog 10.1
PPTX
Graficas en matlab
PDF
Matlab sesion3
PDF
Diapograficos
PPTX
Gráficas en matlab
PPTX
Graficas 2D y 3D
PPTX
Deber graficas en matlab
PPTX
Matlab graficas
PPTX
Graficas en matlab
PPTX
Graficas en matlab 2 d y 3d
PPTX
Presentación4 Nivelación DIVA-GIS
PPTX
Semana4 mate4-del 31 de agosto al 4 de sept.
PPTX
Matlab graficas en 2 d y 3d
PPTX
Graficos matlab
Matlab 2 Capitulo 6
Renderización en java
Graficos matlab
Resta de funciones.mejorado
Guia de actividades
Graficos en matlab
Soza,Diego.2013.Tutorial de reproyección utilizando Arc Catalog 10.1
Graficas en matlab
Matlab sesion3
Diapograficos
Gráficas en matlab
Graficas 2D y 3D
Deber graficas en matlab
Matlab graficas
Graficas en matlab
Graficas en matlab 2 d y 3d
Presentación4 Nivelación DIVA-GIS
Semana4 mate4-del 31 de agosto al 4 de sept.
Matlab graficas en 2 d y 3d
Graficos matlab
Publicidad

Destacado (20)

PDF
Tutorial de php y my sql completo
PDF
No Time-Outs: How to Empower Round-the-Clock Analytics
DOC
PDF
Siicusp 2012 cienciasexatas e engenharias
PPT
XLS
Encuesta infotec
PPTX
edTech@UEF - ICT-based education to make a difference
PDF
LEID PORTFOLIO
PDF
Highlights Polinova 2013
PDF
DXN árlista hun 2014
PDF
Bricking Solutions Product Catalog
PPS
PERRITOS
PDF
inConcert slide_deck - presentation!
PDF
Investigación en multimorbilidad. El Papel de las guías de práctica clínic…
PDF
Anestesia general inhalatoria
PPTX
[2016.07.04] GTI - pH [diapositivas]
PPS
REGLAS DE ACENTUACIÓN. Por Wenceslao Mohedas Ramos
PDF
Clase 2 (ref cod sanitario)
DOC
RESILUX FABRICA PRODUCTORA DE BOTELLAS DE PLASTICO DE 5LT
PDF
GraphDay Stockholm 2015 - Graphs in Telecommunications
Tutorial de php y my sql completo
No Time-Outs: How to Empower Round-the-Clock Analytics
Siicusp 2012 cienciasexatas e engenharias
Encuesta infotec
edTech@UEF - ICT-based education to make a difference
LEID PORTFOLIO
Highlights Polinova 2013
DXN árlista hun 2014
Bricking Solutions Product Catalog
PERRITOS
inConcert slide_deck - presentation!
Investigación en multimorbilidad. El Papel de las guías de práctica clínic…
Anestesia general inhalatoria
[2016.07.04] GTI - pH [diapositivas]
REGLAS DE ACENTUACIÓN. Por Wenceslao Mohedas Ramos
Clase 2 (ref cod sanitario)
RESILUX FABRICA PRODUCTORA DE BOTELLAS DE PLASTICO DE 5LT
GraphDay Stockholm 2015 - Graphs in Telecommunications
Publicidad

Similar a (3) Curso sobre el software estadístico R: La librería ggplot2 (17)

PPTX
Sig t02-analisis espacial y gestion de objetos
PDF
(2) Curso sobre el software estadístico R: La librería googleVis
PDF
PDF
PDF
PRACTICA DE MARESMA.pdf zonificacion de maresma qq
PDF
Laboratorio Computación Gráfica - Práctica 05
PDF
Problemas resueltos de operaciones con funciones ccesa007
PPTX
Creacion de graficos eficientes con ggplot2
DOC
Laboratorio pds grafica de convolucion mas funcion mas vector
PDF
clase 7 GRAFICOS 2D.pdf
PDF
programacion para la ciencia de datos con R y Python
PPTX
Visualizando Datos: la geolocalización como herramienta emergente de análisis...
PPT
GuiaU1MateDos.ppt
PDF
Aprende a programar con KDE y una patata
PPTX
Función arco seno en matlab(ups)
PDF
Técnicas de derivación
PDF
Matlab graficos3 d
Sig t02-analisis espacial y gestion de objetos
(2) Curso sobre el software estadístico R: La librería googleVis
PRACTICA DE MARESMA.pdf zonificacion de maresma qq
Laboratorio Computación Gráfica - Práctica 05
Problemas resueltos de operaciones con funciones ccesa007
Creacion de graficos eficientes con ggplot2
Laboratorio pds grafica de convolucion mas funcion mas vector
clase 7 GRAFICOS 2D.pdf
programacion para la ciencia de datos con R y Python
Visualizando Datos: la geolocalización como herramienta emergente de análisis...
GuiaU1MateDos.ppt
Aprende a programar con KDE y una patata
Función arco seno en matlab(ups)
Técnicas de derivación
Matlab graficos3 d

Más de Instituto Canario de Estadística (ISTAC) (20)

PDF
Sistema de Datos Integrados (iDatos) - capacidades analíticas
PDF
Turismo Canarias 2018. Islas
PDF
Indicadores para politicas publicas
PDF
Presentacion chatbot istac
PDF
[Jecas2018] entorno de computo estadistico en e datos
PDF
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
PDF
[Jecas2018] marco de desarrollo del sistema de datos integrados de canarias
PDF
[Jecas2018] marco de estadistica espacial de canarias
PDF
Nombres más comunes entre recién nacidos. 2016
PDF
201807 gobcan jordanas datos abiertos
PDF
Análisis regional e insular de las predicciones de entradas de pasajeros en C...
PDF
La estadística pública en la evaluación de políticas publicas. 2ª parte
PDF
La estadística pública en la evaluación de políticas: Introducción a la esta...
PDF
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
PDF
Casos de uso de fuentes big data en las estadísticas económicas de Canarias
PDF
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS . A strateg...
PDF
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
PDF
Entidades y núcleos turísticos. estadísticas asociadas
Sistema de Datos Integrados (iDatos) - capacidades analíticas
Turismo Canarias 2018. Islas
Indicadores para politicas publicas
Presentacion chatbot istac
[Jecas2018] entorno de computo estadistico en e datos
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
[Jecas2018] marco de desarrollo del sistema de datos integrados de canarias
[Jecas2018] marco de estadistica espacial de canarias
Nombres más comunes entre recién nacidos. 2016
201807 gobcan jordanas datos abiertos
Análisis regional e insular de las predicciones de entradas de pasajeros en C...
La estadística pública en la evaluación de políticas publicas. 2ª parte
La estadística pública en la evaluación de políticas: Introducción a la esta...
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
Casos de uso de fuentes big data en las estadísticas económicas de Canarias
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS . A strateg...
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
Entidades y núcleos turísticos. estadísticas asociadas

(3) Curso sobre el software estadístico R: La librería ggplot2

  • 1. Curso sobre el software estad´ıstico R: La librer´ıa ggplot2 Ponente: Carlos P´erez Glez. Entidades participantes en el curso: Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 1 / 20
  • 2. La librer´ıa ggplot2 1 Es un paquete que permite generar gr´aficos estad´ısticos. 2 Se diferencia de otras librer´ıas en el aspecto de controlar una gran n´umero de componentes gr´aficos (“gram´atica de gr´aficos”). 3 Los gr´aficos se pueden construir a˜nadi´endole sucesivamente m´as atributos o capas (“layers”). Libro: H.Wickham (2009). ggplot2: Elegant Graphics for Data Analysis 123, Use R!, Springer Website: http://had.co.nz/ggplot2 Tutorial: http://www.ceb-institute.org/bbs/wp-content/uploads/2011/09/handout ggplot2.pdf Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 2 / 20
  • 3. El comando qplot() Los comandos gr´aficos disponibles en ggplot2 son: qplot() - para “quick plots” ggplot() - para mejor ajuste y control de todo Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 3 / 20
  • 4. El comando qplot(): ejemplos Veamos algunos ejemplos: qplot(data=data.geo.municipios ,x=Superficie ,main="Histograma de superficie",binwidth =50) qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , main="Gr´afico de superficie vs. altitud") qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , main="Gr´afico de superficie vs. altitud", xlab="Superficie de la isla", ylab="Altitud de la isla") qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , main="Gr´afico de superficie vs. altitud", xlab="Superficie de la isla", ylab="Altitud de la isla", xlim=c(0 ,2500) , ylim=c(0 ,1500)) Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 4 / 20
  • 5. Color, tama˜no, forma (aspectos est´eticos) Con el comando cl´asico plot(), si queremos representar variables categ´oricas (e.g. una variable de tipo sexo, “Hombre”,“Mujer”) con colores, debemos realizar nosotros mismos la correspondencia entre categor´ıa y color. En qplot() se puede especificar varios argumentos: colour, size, shape qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , colour = Isla , main="Gr´afico de superficie vs. altitud", xlab="Superficie", ylab="Altitud") qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , size = Isla , main="Gr´afico de superficie vs. altitud", xlab="Superficie", ylab="Altitud") qplot(data=data.geo.islas ,x=Superficie ,y=Altitud , shape = Isla , main="Gr´afico de superficie vs. altitud", xlab="Superficie", ylab="Altitud") + scale_shape_manual(values =1:7) Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 5 / 20
  • 6. Objetos geom´etricos qplot no est´a limitado a gr´aficos de dispersi´on (scatterplot), sino que puede producir casi cualquier tipo de gr´afico variando el argumento geom. geom = “point” representa puntos para producir un scatterplot. Esta es la opci´on por defecto cuando se pasan argumentos x e y a qplot(). geom = “boxplot” produce un gr´afico box-and-whisker plot de resumen de la distribuci´on de un conjunto de puntos. geom = “smooth” ajusta una curva suavizada a los datos (smoother) y su error est´andar. Esta opci´on se combina con un argumento method %in % c(“loess”,“gam”,“lm”,“rlm”) (ver http://docs.ggplot2.org/0.9.3/stat smooth.html) geom = “path” and geom = “line” representa lineas entre los puntos. Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 6 / 20
  • 7. Ejemplos de ggplot() - objetos geom´etricos Vemos algunos ejemplos: qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = "point") qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = "boxplot", colour = Isla) # cuidado con el tipo qplot(data=data.geo.municipios ,x=Isla ,y=Altitud , geom = "boxplot") qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = "smooth", method="loess") qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = c("point", "smooth"), method="lm") qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = "path") qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , geom = "line") qplot(data=data.geo.municipios , x=Provincia , geom = "bar") qplot(data=data.geo.municipios , x=Superficie , geom = "histogram") qplot(data=data.geo.municipios , x=Superficie , geom = "density") Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 7 / 20
  • 8. Comprensi´on de la gram´atica de capas 1 Podemos usar s´olo qplot() pero la verdadera potencia de ggplot2 est´a en el manejo de los gr´aficos por capas (gram´atica de capas) mediante ggplot(). 2 El qplot recorta bastantes detalles de ggplot() a pesar que permite una sintaxis m´as familiar y cercana al plot(). 3 Con ggplot(), sin embargo, es posible incorporar a un gr´afico diferentes niveles de detalle mediante sucesivas capas (layers). ggplot(data , mapping) + layer( geom = "", stat = "", position = "", .... ) Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 8 / 20
  • 9. Otros objetos geom´etricos en ggplot2 Name Description abline Line, specified by slope and intercept area Area plots bar Bars, rectangles with bases on y-axis boxplot Box-and-whisker plot contour Display contours of a 3d surface in 2d errorbar Error bars histogram Histogram line Connect observations, in order of x value point Points, as for a scatterplot polygon Polygon, a filled path step Connect observations by stairs text Textual annotations Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 9 / 20
  • 10. Algunas transformaciones estad´ısticas en ggplot2 Name Description bin Bin data boxplot Calculate components of box-and-whisker plot contour Contours of 3d data density Density estimation function Superimpose a function identity Don’t transform data quantile Continuous quantiles smooth Add a smoother step Create stair steps sum Sum unique values. Useful for overplotting on scatterplots summary Summarise y values at every unique x unique Remove duplicates Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 10 / 20
  • 11. Scatterplot en ggplot2 Un scatterplot: ejemplo1 <-qplot(data=data.geo.municipios ,x=Superficie ,y=Altitud , colour = Isla) se compone de (http://docs.ggplot2.org/current/index.html): Un conjunto de datos por defecto (data). Una asignaci´on de variables del conjunto de datos a atributos gr´aficos (aesthetics). ejemplo1 <-ggplot(data=data.geo.municipios , mapping=aes(x=Superficie ,y=Altitud , colour=Isla )) Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 11 / 20
  • 12. Scatterplot en ggplot2: layers Y de las siguientes capas o layers: El tipo de objeto geom´etrico (punto, l´ınea, barra, . . . ) utilizado para la representaci´on (geom). ejemplo1 + layer(geom="point") # o tambien : ejemplo1 + geom_point () Una transformaci´on estad´ıstica (suma, densidad, boxplot,..) de los datos (stat). ejemplo1 + layer(geom="point", stat="identity" ) # o tambien : ejemplo1 + geom_point(stat =" identity ") # o tambien : ejemplo1 + geom_point () Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 12 / 20
  • 13. Scatterplot en ggplot2: otros aspectos Adem´as, se puede Controlar c´omo se asignan las variables del conjunto de datos a los atributos aesthetics (scales). Por ejemplo, la forma (shape) o el tama˜no (size) de los objetos puede cambiar seg´un el valor de las variables. ejemplo1 <-ggplot(data=data.geo.municipios , mapping=aes(x=Superficie ,y=Altitud , colour=Isla )) ejemplo1 + geom_point(mapping=aes(shape=Provincia) ) + scale_shape(solid = FALSE) # cambiar la forma ejemplo1 + geom_point(mapping=aes(size=Provincia) ) + scale_size_discrete(range = c(2, 4) ) # cambiar el tama~n Cambiar el sistema de representaci´on de coordenadas (coord) ejemplo1 + geom_point () + coord_polar () Especificar la visualizaci´on de subconjuntos de los datos en diferentes paneles (facet) ejemplo1 + geom_point () + facet_grid (. ~ Provincia) Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 13 / 20
  • 14. Gr´afico de barras en ggplot2 Un diagrama de barras: ejemplo2 <-qplot(data=data.geo.municipios ,x=Provincia , geom = "bar", fill = Isla) La asignaci´on o mapping de variables (atributos aesthetics): ejemplo2 <-ggplot(data=data.geo.municipios , mapping=aes(x=Provincia , fill=Isla )) El tipo de objeto geom: ejemplo2 + layer(geom="bar") # o tambien : ejemplo2 + geom_bar () Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 14 / 20
  • 15. Gr´afico de barras en ggplot2: layers La transformaci´on estad´ıstica stat: ejemplo2 + layer(geom="bar", stat="bin" ) # o tambien : ejemplo2 + geom_bar(stat =" bin ") # o tambien : ejemplo2 + geom_bar () El ajuste de posici´on en el gr´afico (position): ejemplo2 + layer(geom="bar", stat="bin", position="dodge") # o tambien : ejemplo2 + geom_bar( position = position _dodge () ) Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 15 / 20
  • 16. Otros gr´aficos en ggplot2 Algunos ejemplos mas (densidad e histograma): qplot(data=data.espacios.nat , x=Superficie , geom = "density", colour = Isla) # las densidades son superpuestas ggplot(data=data.espacios.nat , mapping=aes(x=Superficie ,colour=Isla )) +geom_density () qplot(data=data.espacios.nat , x=Superficie , geom = "histogram", colour = Isla) # los histogramas son apilados y se colorea el borde ggplot(data=data.espacios.nat , mapping=aes(x=Superficie ,colour=Isla )) +geom_histogram () qplot(data=data.espacios.nat , x=Superficie , geom = "histogram", fill = Isla) # los histogramas son apilados y se colorea el interior ggplot(data=data.espacios.nat , mapping=aes(x=Superficie ,fill=Isla )) +geom_histogram () Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 16 / 20
  • 17. Otros gr´aficos en ggplot2 Algunos ejemplos mas (gr´aficos de barras): qplot(data=data.espacios.nat , x=Espacio.natural , geom = "bar", fill = Isla) # tambi´en los gr´aficos de barras son apilados ggplot(data=data.espacios.nat , mapping=aes(x=Espacio.natural ,fill=Isla )) +geom_bar(position=position_dodge () ) qplot(data=data.espacios.nat , x=Espacio.natural , geom = "bar", fill = Isla , position="dodge") # barras colocadas unas al lado de otras ggplot(data=data.espacios.nat , mapping=aes(x=Espacio.natural ,fill=Isla )) +geom_bar() Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 17 / 20
  • 18. Otros gr´aficos en ggplot2 Algunos ejemplos mas: qplot(data=data.geo.municipios , x=Provincia , geom = "bar") ggplot(data=data.geo.municipios , mapping=aes(x=Provincia )) +geom_bar() qplot(data=data.geo.municipios , x=Provincia , geom = "bar", fill = Isla) ggplot(data=data.geo.municipios , mapping=aes(x=Provincia ,fill = Isla )) +geom_bar () Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 18 / 20
  • 19. Otros gr´aficos en ggplot2 Algunos ejemplos mas: qplot(data=data.geo.municipios , x=Superficie , geom = "histogram") ggplot(data=data.geo.municipios , mapping=aes(x=Superficie) +geom_histogram () qplot(data=data.geo.municipios , x=Superficie , geom = "density") ggplot(data=data.geo.municipios , mapping=aes(x=Superficie) +geom_density () qplot(data=data.geo.municipios , x=Superficie , geom = "density", colour = Provincia) # las densidades son super ggplot(data=data.geo.municipios , mapping=aes(x=Superficie , colour = Provincia )) +geom_density () Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 19 / 20
  • 20. Otros gr´aficos en ggplot2 Algunos ejemplos mas: qplot(data=data.geo.municipios , x=Superficie , geom = "histogram", colour = Provincia) # los histogramas son apilados y se colorea el borde qplot(data=data.geo.municipios , x=Superficie , geom = "histogram", fill = Provincia) # los histogramas son apilados y se colorea el interior qplot(data=data.geo.municipios , x=Superficie , geom = "histogram", fill = Provincia , position="dodge") # las barras se pueden representar sin apilar Carlos P´erez Glez. (Universidad de La Laguna) La librer´ıa ggplot2 20 / 20