Como sobrepor gráficos de densidade em ggplot2 (com exemplos)
Um gráfico de densidade é uma forma útil de visualizar a distribuição de valores em um conjunto de dados.
Muitas vezes você pode querer visualizar gráficos de densidade de diversas variáveis de uma só vez. Felizmente, isso é fácil de fazer usando o pacote de visualização de dados ggplot2 em R com a seguinte sintaxe:
ggplot(data, aes (x=value, fill=variable)) + geom_density(alpha= .25 )
O argumento alfa controla a opacidade de cada gráfico de densidade. É importante definir esse valor abaixo de 1 para que você possa ver cada gráfico de densidade à medida que eles se sobrepõem.
O exemplo passo a passo a seguir mostra como usar essa sintaxe na prática.
Etapa 1: crie os dados
Primeiro, vamos criar um conjunto de dados falso com três variáveis:
#make this example reproducible set. seeds (1) #createdata df <- data. frame (var1=rnorm(1000, mean=0, sd=1), var2=rnorm(1000, mean=0, sd=3), var3=rnorm(1000, mean=3, sd=2)) #view first six rows of data head(df) var1 var2 var3 1 -0.6264538 3.4048953 1.2277008 2 0.1836433 3.3357955 -0.8445098 3 -0.8356286 -2.6123329 6.2394015 4 1.5952808 0.6321948 4.0385398 5 0.3295078 0.2081869 2.8883001 6 -0.8204684 -4.9879466 4.3928352
Etapa 2: converter dados de largos para longos
Em seguida, precisamos converter os dados de um formato amplo para um formato longo para torná-los compatíveis com ggplot2:
library (reshape) #convert from wide format to long format data <- melt(df) #view first six rows head(data) variable value 1 var1 -0.6264538 2 var1 0.1836433 3 var1 -0.8356286 4 var1 1.5952808 5 var1 0.3295078 6 var1 -0.8204684
Etapa 3: Crie os gráficos de densidade sobrepostos
Finalmente, podemos criar os gráficos de densidade sobrepostos:
library (ggplot2) #create overlaying density plots ggplot(data, aes (x=value, fill=variable)) + geom_density(alpha= .25 )
Sinta-se à vontade para ajustar o valor alfa para tornar os gráficos de densidade mais ou menos transparentes.
Por exemplo, os gráficos ficariam assim se aumentássemos o valor alfa:
library (ggplot2) #create overlaying density plots ggplot(data, aes (x=value, fill=variable)) + geom_density(alpha= .7 )
Recursos adicionais
Como criar um gráfico de Gantt em R usando ggplot2
Como criar um boxplot agrupado em R usando ggplot2
Como criar gráficos lado a lado em R usando ggplot2