ggplot2 - Tabelas divergentes
Nos capítulos anteriores, demos uma olhada em vários tipos de gráficos que podem ser criados usando o pacote “ggplot2”. Agora vamos nos concentrar na variação do mesmo, como gráficos de barras divergentes, gráficos de pirulito e muitos mais. Para começar, começaremos com a criação de gráficos de barras divergentes e as etapas a serem seguidas são mencionadas abaixo -
Entendendo o conjunto de dados
Carregue o pacote necessário e crie uma nova coluna chamada 'nome do carro' dentro do conjunto de dados mpg.
#Load ggplot
> library(ggplot2)
> # create new column for car names
> mtcars$`car name` <- rownames(mtcars)
> # compute normalized mpg
> mtcars$mpg_z <- round((mtcars$mpg - mean(mtcars$mpg))/sd(mtcars$mpg), 2)
> # above / below avg flag
> mtcars$mpg_type <- ifelse(mtcars$mpg_z < 0, "below", "above")
> # sort
> mtcars <- mtcars[order(mtcars$mpg_z), ]
O cálculo acima envolve a criação de uma nova coluna para nomes de carros, computando o conjunto de dados normalizado com a ajuda da função round. Também podemos usar a sinalização avg acima e abaixo para obter os valores da funcionalidade “tipo”. Posteriormente, classificamos os valores para criar o conjunto de dados necessário.
A saída recebida é a seguinte -
Converta os valores em fator para manter a ordem de classificação em um gráfico específico, conforme mencionado abaixo -
> # convert to factor to retain sorted order in plot.
> mtcars$`car name` <- factor(mtcars$`car name`, levels = mtcars$`car name`)
A saída obtida é mencionada abaixo -
Gráfico de Barras Divergentes
Agora crie um gráfico de barras divergente com os atributos mencionados, que é considerado como coordenadas necessárias.
> # Diverging Barcharts
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_bar(stat='identity', aes(fill=mpg_type), width=.5) +
+ scale_fill_manual(name="Mileage",
+ labels = c("Above Average", "Below Average"),
+ values = c("above"="#00ba38", "below"="#f8766d")) +
+ labs(subtitle="Normalised mileage from 'mtcars'",
+ title= "Diverging Bars") +
+ coord_flip()
Note - Um gráfico de barras divergente marca para alguns membros da dimensão apontando para cima ou para baixo em relação aos valores mencionados.
A saída do gráfico de barras divergente é mencionada abaixo, onde usamos a função geom_bar para criar um gráfico de barras -
Gráfico de pirulito divergente
Crie um gráfico pirulito divergente com os mesmos atributos e coordenadas, apenas com a mudança de função a ser usada, ou seja, geom_segment () que ajuda na criação dos gráficos pirulito.
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_point(stat='identity', fill="black", size=6) +
+ geom_segment(aes(y = 0,
+ x = `car name`,
+ yend = mpg_z,
+ xend = `car name`),
+ color = "black") +
+ geom_text(color="white", size=2) +
+ labs(title="Diverging Lollipop Chart",
+ subtitle="Normalized mileage from 'mtcars': Lollipop") +
+ ylim(-2.5, 2.5) +
+ coord_flip()
Diverging Dot Plot
Crie um gráfico de pontos divergentes de maneira semelhante, onde os pontos representam os pontos em gráficos dispersos em dimensões maiores.
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_point(stat='identity', aes(col=mpg_type), size=6) +
+ scale_color_manual(name="Mileage",
+ labels = c("Above Average", "Below Average"),
+ values = c("above"="#00ba38", "below"="#f8766d")) +
+ geom_text(color="white", size=2) +
+ labs(title="Diverging Dot Plot",
+ subtitle="Normalized mileage from 'mtcars': Dotplot") +
+ ylim(-2.5, 2.5) +
+ coord_flip()
Aqui, as legendas representam os valores “Acima da média” e “Abaixo da média” com cores distintas de verde e vermelho. O gráfico de pontos transmite informações estáticas. Os princípios são iguais aos do gráfico de barras Diverging, exceto que apenas pontos são usados.