“ggplot2 es una visualización de datos de paquete para la programación estadística lenguaje R . Creado por Hadley Wickham en 2005, ggplot2 es una implementación de la Gramática de gráficos de Leland Wilkinson , un esquema general para la visualización de datos que divide los gráficos en componentes semánticos como escalas y capas. ggplot2 puede servir como un reemplazo para los gráficos base en R y contiene una serie de valores predeterminados para la visualización web e impresa de escalas comunes. Desde 2005, ggplot2 ha crecido en uso para convertirse en uno de los paquetes R más populares. Está licenciado bajo GNU GPL v2.” Wikipedia
La construcción se realiza por capas primero se indican los datos, luego se indica la geometría.
# Grafico de dispersión
ggplot(data=mpg)+
geom_point(mapping = aes(x=cty,y=hwy),
color="red",
shape=2,
size=4,
fill="salmon")
#Boxplot
ggplot(data=mpg)+
geom_boxplot(mapping = aes(x=drv,y=cty),
color="blue",
fill="red")
#Gráfico de barras
ggplot(data=mpg)+
geom_bar(mapping = aes(x=drv))
# varias geometrias juntas(capas)
ggplot(mpg,mapping=aes(x=drv,y=cty))+
geom_boxplot(fill="blue")+
geom_jitter(color="red")+
geom_violin(fill="salmon",alpha=0.4)+
coord_flip()+coord_flip()
Las caracteristicas que se pueden modificar son :
Las modificaciones pueden realizarse en el parámetro “mapping”. Para realizar las modificaciones de las características se utilizan variables categóricas(tipo factor) del conjunto de datos que se esté utilizando.
ggplot(mpg)+
geom_point(mapping = aes(x=cty,y=hwy,
size=drv,
color=as.factor(cyl),
shape=fl))
ggplot(mpg)+
geom_bar(aes(x=manufacturer,
fill=as.factor(year)))+
coord_flip()
ggplot(mpg)+
geom_histogram(aes(x=cty,
y=-..density..),bins=20,
fill="steelblue")
ggplot(mpg,aes(x=cty))+
geom_histogram(aes(y=..density..),
fill="red")+
geom_histogram(aes(x=hwy,y=-..density..))
ggplot(mpg,aes(x=cty,y=..density..),xlim(0,40))+
geom_histogram(color="steelblue")+
geom_density(fill="salmon",
alpha=0.4)
ggplot(ToothGrowth,aes(x=len,y=..density..))+
geom_histogram(fill="salmon2")+
geom_density(fill="blue",alpha=0.5)
ggplot(mpg)+
geom_bar(aes(x=drv,
fill=as.factor(year)),
position = "dodge")
ggplot(mpg)+
geom_bar(aes(x=drv,
fill=as.factor(year)),
position = "stack")
ggplot(mpg)+
geom_bar(aes(x=drv,
fill=as.factor(year)),
position = "fill")
ggplot(mpg)+
geom_boxplot(aes(x=as.factor(year),y=cty),
fill="salmon3",
outlier.color = "red",
outlier.shape = 3)+
coord_flip()
ggplot(mpg)+
geom_boxplot(aes(x=as.factor(year),y=cty),
fill="salmon3",
outlier.color = "red",
outlier.shape = 3)+
coord_flip()+
labs(title = "consumo en ciudad",
subtitle = "Por año",
caption = "fuente ggplot dataset")+
theme_linedraw()
ggplot(mpg)+
geom_point(aes(x=cty,y=hwy))+
facet_grid(.~cyl)
ggplot(mpg,aes(x=cty,y=hwy))+
geom_point()+
geom_smooth(se=F,formula = y~x)+
facet_grid(cyl~drv)
##############
ggplot(mpg,aes(x=displ,y=hwy))+
geom_point(aes(color=class,
shape=drv),size=3)+
facet_grid(cyl~.)+
theme_linedraw()+
labs(x="Volumen del motor en lt",
y="rendimient en mpg",
title = "Rendimiento/tamaño del motor",
subtitle = "para 4 5 6 y 8 cilindros",
caption = "ggplot dataset")
df<-data.frame(
categorias=c("setosa","versicolor","virginica"),
porcentaje=c(25,60,15))
df
## categorias porcentaje
## 1 setosa 25
## 2 versicolor 60
## 3 virginica 15
ggplot(df,aes(x=2,y=porcentaje,
fill=categorias))+
geom_bar(stat="identity")+
coord_polar(theta = "y")+
xlim(0.5,2.5)+theme_void()+
geom_text(aes(label=porcentaje),
position = position_stack(vjust=0.5))