Está en la página 1de 2

Visualización de Datos Geoms - Usa una geom para representar los datos, usa las propiedades estéticas de la geom

tar los datos, usa las propiedades estéticas de la geom para representar variables. Cada función devuelve una capa.
con ggplot2 Una Variable Dos Variables
Hoja de Referencia Contínua Continua X, Continua Y
f <- ggplot(mpg, aes(cty, hwy))
Distribución Bivariada Continua
i <- ggplot(movies, aes(year, rating))
a <- ggplot(mpg, aes(hwy))
f + geom_blank() i + geom_bin2d(binwidth = c(5, 0.5))
a + geom_area(stat = "bin") xmax, xmin, ymax, ymin, alpha, color, fill,
x, y, alpha, color, fill, linetype, size linetype, size, weight
b + geom_area(aes(y = ..density..), stat = "bin")
f + geom_jitter() i + geom_density2d()
a + geom_density(kernel = "gaussian")
Básico x, y, alpha, color, fill, linetype, size, weight
x, y, alpha, color, fill, shape, size x, y, alpha, colour, linetype, size
b + geom_density(aes(y = ..county..))
ggplot2 está basado en grammar of graphics, la f + geom_point() i + geom_hex()
ideas es que pueda construir cada gráfico a partir de x, y, alpha, color, fill, shape, size x, y, alpha, colour, fill size
unos pocos componentes iguales: unos datos, unas a + geom_dotplot()
geoms—marcas visuales que representan los puntos x, y, alpha, color, fill Función Continua
f + geom_quantile() j <- ggplot(economics, aes(date, unemploy))
de datos, y un sistema de coordenadas. x, y, alpha, color, linetype, size, weight
a + geom_freqpoly()
x, y, alpha, color, linetype, size
j + geom_area()
b + geom_freqpoly(aes(y = ..density..)) f + geom_rug(sides = "bl") x, y, alpha, color, fill, linetype, size
alpha, color, linetype, size
a + geom_histogram(binwidth = 5) j + geom_line()
x, y, alpha, color, fill, linetype, size, weight f + geom_smooth(model = lm) x, y, alpha, color, linetype, size
Para visualizar los datos, hay que mapear las b + geom_histogram(aes(y = ..density..))
variables de los datos a propiedades estéticas de la x, y, alpha, color, fill, linetype, size, weight
geom como tamaño, color, y las posiciones x e y.
Discreta j + geom_step(direction = "hv")
b <- ggplot(mpg, aes(fl))
C
AB f + geom_text(aes(label = cty)) x, y, alpha, color, linetype, size
b + geom_bar() x, y, label, alpha, angle, color, family, fontface,
hjust, lineheight, size, vjust
Visualizando el error
x, alpha, color, fill, linetype, size, weight df <- data.frame(grp = c("A", "B"), fit = 4:5, se = 1:2)
Discreta X, Continua Y k <- ggplot(df, aes(grp, fit, ymin = fit-se, ymax = fit+se))
Primitivas Gráficas g <- ggplot(mpg, aes(class, hwy))
k + geom_crossbar(fatten = 2)
Construir un gráfico con qplot() o ggplot() g + geom_bar(stat = "identity") x, y, ymax, ymin, alpha, color, fill, linetype,
mapeos estéticos datos geom
c <- ggplot(map, aes(long, lat)) x, y, alpha, color, fill, linetype, size, weight size
c + geom_polygon(aes(group = group)) k + geom_errorbar()
qplot(x = cty, y = hwy, color = cyl, data = mpg, geom = "point") x, ymax, ymin, alpha, color, linetype, size,
x, y, alpha, color, fill, linetype, size g + geom_boxplot()
Crea un gráfico completo con los datos, geom y mapeos. width (also geom_errorbarh())
Proporciona muchos valores por defecto. lower, middle, upper, x, ymax, ymin, alpha,
color, fill, linetype, shape, size, weight k + geom_linerange()
g + geom_dotplot(binaxis = "y", x, ymin, ymax, alpha, color, linetype, size
ggplot(data = mpg, aes(x = cty, y = hwy)) d <- ggplot(economics, aes(date, unemploy))
Crea un grafico que terminará añadiendo capas. Sin stackdir = "center")
valores por defecto , pero que proporciona más control d + geom_path(lineend="butt", x, y, alpha, color, fill k + geom_pointrange()
que qplot(). linejoin="round’, linemitre=1) g + geom_violin(scale = "area") x, y, ymin, ymax, alpha, color, fill, linetype,
datos
añade capas, x, y, alpha, color, linetype, size x, y, alpha, color, fill, linetype, size, weight shape, size
elementos con + Mapas
ggplot(mpg, aes(hwy, cty)) +
geom_point(aes(color = cyl)) +
d + geom_ribbon(aes(ymin=unemploy - 900, data <- data.frame(murder = USArrests$Murder,
capa = geom + ymax=unemploy + 900))
geom_smooth(method ="lm") + estadística por
Discreta X, Discreta Y state = tolower(rownames(USArrests)))
coord_cartesian() + defecto + capa de x, ymax, ymin, alpha, color, fill, linetype, size map <- map_data("state")
scale_color_gradient() +
mapeos específicos h <- ggplot(diamonds, aes(cut, color)) l <- ggplot(data, aes(fill = murder))
theme_bw() elementos
e <- ggplot(seals, aes(x = long, y = lat)) h + geom_jitter() l + geom_map(aes(map_id = state), map = map) +
adicionales
Añade una nueva capa a un gráfico con las x, y, alpha, color, fill, shape, size expand_limits(x = map$long, y = map$lat)
e + geom_segment(aes( map_id, alpha, color, fill, linetype, size
funciones geom_*() or stat_*(). Cada una
proporciona una geom, un conjunto de mapeos
xend = long + delta_long,
yend = lat + delta_lat))
estéticos, una estadística por defecto y un ajuste x, xend, y, yend, alpha, color, linetype, size Tres Variables
de la posición.
seals$z <- with(seals, sqrt(delta_long^2 + delta_lat^2)) m + geom_raster(aes(fill = z), hjust=0.5,
last_plot() e + geom_rect(aes(xmin = long, ymin = lat,
m <- ggplot(seals, aes(long, lat)) vjust=0.5, interpolate=FALSE)
Devuelve el último gráfico xmax= long + delta_long, x, y, alpha, fill
ggsave("plot.png", width = 5, height = 5) ymax = lat + delta_lat))
m + geom_contour(aes(z = z)) m + geom_tile(aes(fill = z))
xmax, xmin, ymax, ymin, alpha, color, fill,
Guarda el último gráfico de 5’ x 5’ en un fichero con linetype, size x, y, alpha, color, fill, linetype, size
nombre "plot.png" en el directorio de trabajo. Ajusta x, y, z, alpha, colour, linetype, size, weight
el tipo de fichero a la extensión.
RStudio® is a trademark of RStudio, Inc. • CC BY RStudio • info@rstudio.com • 844-448-1212 • rstudio.com Para saber más docs.ggplot2.org • ggplot2 1.0.0 • Actualizado: 3/15
Stats – Una forma alternativa de crear una capa Escalas (Scales) Sistemas de Coordenadas Facetas
Algunos gráficos visualizan una transformación de los datos Scales controla cómo elabora un gráfico los datos dentro de los r <- b + geom_bar() Las facetas dividen los gráficos en subgráficos a partir de
originales. Usar una stat (función estadística) para elegir una valores visuales de una estética (aesthetic). Para cambiar la los valores de una o más variables discretas.
transformación común a representar, e.g. a + geom_bar(stat = "bin") elaboración, añadir una escala personalizada. r + coord_cartesian(xlim = c(0, 5))
xlim, ylim t <- ggplot(mpg, aes(cty, hwy)) + geom_point()
n <- b + geom_bar(aes(fill = fl))
Por defecto sistema coordenadas t + facet_grid(. ~ fl)
n
cartesiano divide en columnas a partir de fl
aesthetic a Scale argumentos
scale_
modificar predefinida específicos
r + coord_fixed(ratio = 1/2) t + facet_grid(year ~ .)
ratio, xlim, ylim divide en filas a partir year
Cada stat crea variables adicionales para modificar la n + scale_fill_manual( Coordenadas cartesianas con proporción t + facet_grid(year ~ fl)
values = c("skyblue", "royalblue", "blue", "navy"), fija entre unidades x e y
estética. Esas variables utilizan la sintaxis habitual limits = c("d", "e", "p", "r"), breaks =c("d", "e", "p", "r"), divide tanto en filas como columnas
de ..nombre... name = "fuel", labels = c("D", "E", "P", "R")) r + coord_flip()
xlim, ylim t + facet_wrap(~ fl)
Las funciones stat y geom combinan una stat con un ajusta las facetas de forma rectangular
geom para crear una capa, i.e. stat_bin(geom="bar") rango de valores a título de Etiquetas de Intervalos en Coordenadas cartesianas invertidas
mapear leyenda/ejes leyenda/ejes leyenda/ejes Ajusta scales para variar los límites de los ejes en las facetas
es equivalente a geom_bar(stat="bin") r + coord_polar(theta = "x", direction=1 )
Valores variable generada theta, inicio, dirección t + facet_grid(y ~ x, scales = "free")
función estadística específicos capa por transformación Scales de uso general Coordenadas polares
límites de ejes x e y se ajustan a cada faceta
Usar con cualquier aesthetic: r + coord_trans(ytrans = "sqrt")
i + stat_density2d(aes(fill = ..level..), alpha, color, fill, linetype, shape, size • "free_x" - ajusta los límites del eje x
xtrans, ytrans, limx, limy
geom = "polygon", n = 100) Coordenadas cartesianas transformadas. • "free_y" - ajusta los límites del eje y
scale_*_continuous() – valores continuos a gradación
Set xtrans
Ajusta andeytrans
xtrans ytranstoalthe namede la
nombre
geom para capa parámetros para estadística scale_*_discrete() - valores discretos a gradación of a window function. Define labeller para ajustar las etiquetas de las facetas
función
a + stat_bin(binwidth = 1, origin = 10) Distribuciones 1D scale_*_identity() - datos como valores visuales t + facet_grid(. ~ fl, labeller = label_both)
x, y | ..count.., ..ncount.., ..density.., ..ndensity.. scale_*_manual(values = c()) – valores discretos convertidos
a + stat_bindot(binwidth = 1, binaxis = "x") a una escala elegida a mano z + coord_map(projection = "ortho", fl: c fl: d fl: e fl: p fl: r

x , y, | ..count.., ..ncount.. orientation=c(41, -74, 0)) t + facet_grid(. ~ fl, labeller = label_bquote(alpha ^ .(x)))
a + stat_density(adjust = 1, kernel = "gaussian") Scales de posición X e Y projection, orientation, xlim, ylim
x, y, | ..count.., ..density.., ..scaled.. Usar con estética para x o y (aquí mostramos x) Dibuja proyecciones del paquete mapproj (mercator t + facet_grid(. ~ fl, labeller = label_parsed)
f + stat_bin2d(bins = 30, drop = TRUE) scale_x_date(labels = date_format("%m/%d"), (por defecto), azequalarea, lagrange, etc.) c d e p r
Distribuciones 2D
x, y, fill | ..count.., ..density.. breaks = date_breaks("2 weeks")) – Trata los datos
f + stat_binhex(bins = 30) de x cómo fecha. Ver ?strptime para formatos
x, y, fill | ..count.., ..density.. scale_x_datetime() - Trata los datos de x tiempo. Usar Ajustes de Posición Etiquetas
f + stat_density2d(contour = TRUE, n = 100) los mismos argumentos que scale_x_date() Los ajustes de posición determinan como se ajustan t + ggtitle("Nuevo Título del Gráfico")
x, y, color, size | ..level..
scale_x_log10() - Representa x en escala log10 los geoms que de otra forma ocuparían el mismo Añade el título principal sobre el gráfico
m + stat_contour(aes(z = z)) 3 Variables scale_x_reverse() – Invierte la dirección del eje x espacio. s <- ggplot(mpg, aes(fl, fill = drv)) t + xlab("Nueva etiqueta X") Usa funciones de
x, y, z, order | ..level.. escala actualizar las
scale_x_sqrt() – Escala x a raíz cuadrada de x s + geom_bar(position = "dodge") Cambia la etiqueta del eje X etiquetas de la
m+ stat_spoke(aes(radius= z, angle = z))
angle, radius, x, xend, y, yend | ..x.., ..xend.., ..y.., ..yend.. Ordena una al lado del otro t + ylab("Nueva etiqueta Y”) leyenda
m + stat_summary_hex(aes(z = z), bins = 30, fun = mean) Escalas de color y relleno
s + geom_bar(position = "fill") Cambia la etiqueta del eje Y
x, y, z, fill | ..value.. Discretas Continuas
Coloca los elementos uno encima del t + labs(title =" New title", x = "New x", y = "New y")
m + stat_summary2d(aes(z = z), bins = 30, fun = mean)
x , y, z, fill | ..value.. n <- b + geom_bar( o <- a + geom_dotplot( otro. Altura normalizada Todo lo de arriba
aes(fill = fl)) aes(fill = ..x..)) s + geom_bar(position = "stack")
n + scale_fill_brewer(
g + stat_boxplot(coef = 1.5)
x, y | ..lower.., ..middle.., ..upper.., ..outliers..
Comparaciones
palette = "Blues")
o + scale_fill_gradient(
low = "red", Coloca elementos uno encima de otro Leyendas
g + stat_ydensity(adjust = 1, kernel = "gaussian", scale = "area") Para opciones de paleta: high = "yellow") f + geom_point(position = "jitter") t + theme(legend.position = "bottom")
library(RcolorBrewer) o + scale_fill_gradient2(
x, y | ..density.., ..scaled.., ..count.., ..n.., ..violinwidth.., ..width.. display.brewer.all() low = "red", hight = "blue", Añade un ruido aleatorio a la posición Emplaza leyenda en "bottom", "top", "left", or "right"
mid = "white", midpoint = 25) de X e Y para evitar imprimir varias t + guides(color = "none")
f + stat_ecdf(n = 40) n + scale_fill_grey( o + scale_fill_gradientn(
Funciones
start = 0.2, end = 0.8, colours = terrain.colors(6)) veces en el mismo punto Define tipo de leyenda para cada estética:
x, y | ..x.., ..y..
na.value = "red") También: rainbow(), colorbar,legend, o none (sin leyenda)
f + stat_quantile(quantiles = c(0.25, 0.5, 0.75), formula = y ~ log(x), heat.colors(), topo.colors(),
method = "rq") cm.colors(), Cada ajuste de posición puede redefinirse como función t + scale_fill_discrete(name = "Title",
RColorBrewer::brewer.pal() ajustando manualmente los argumentos ancho y alto
x, y | ..quantile.., ..x.., ..y.. labels = c("A", "B", "C"))
f + stat_smooth(method = "auto", formula = y ~ x, se = TRUE, n = 80, Formas para las escalas Define título de leyenda y etiquetas con una
s + geom_bar(position = position_dodge(width = 1))
fullrange = FALSE, level = 0.95) Valores manuales para formas función de escala.
x, y | ..se.., ..x.., ..y.., ..ymin.., ..ymax.. p <- f + geom_point(
aes(shape = fl))
ggplot() + stat_function(aes(x = -3:3), Propósito General p + scale_shape(
Temas Ampliación
fun = dnorm, n = 101, args = list(sd=0.5)) solid = FALSE) Sin recorte (preferido)
r + theme_bw() r + theme_classic()
x | ..y.. Fondo blanco con t + coord_cartesian(
p + scale_shape_manual( Fondo blanco sin líneas
f + stat_identity() líneas de cuadrícula xlim = c(0, 100), ylim = c(10, 20))
values = c(3:7)) de cuadrícula
ggplot() + stat_qq(aes(sample=1:100), distribution = qt, Se muestran valores de
dparams = list(df=5)) la forma a la derecha del
gráfico r + theme_grey() r + theme_minimal() Con recorte (elimina los datos que no se ven)
sample, x, y | ..x.., ..y.. Fondo gris
f + stat_sum() Tamaño escalas (tema por defecto)
Tema mínimo t + xlim(0, 100) + ylim(10, 20)
x, y, size | ..size.. t + scale_x_continuous(limits = c(0, 100)) +
q <- f + geom_point( q + scale_size_area(max = 6)
f + stat_summary(fun.data = "mean_cl_boot") aes(size = cyl)) Valor mapeado al área del círculo ggthemes – Paquete con temas adicionales para ggplot2 scale_y_continuous(limits = c(0, 100))
f + stat_unique() (no el radio)

RStudio® is a trademark of RStudio, Inc. • CC BY RStudio • info@rstudio.com • 844-448-1212 • rstudio.com Aprende más en docs.ggplot2.org • ggplot2 1.0.0 • Updated: 3/15