Как накладывать графики плотности в ggplot2 (с примерами)

Как накладывать графики плотности в ggplot2 (с примерами)

График плотности — удобный способ визуализации распределения значений в наборе данных.

Часто вам может понадобиться визуализировать графики плотности нескольких переменных одновременно. К счастью, это легко сделать с помощью пакета визуализации данных ggplot2 в R со следующим синтаксисом:

ggplot(data, aes (x=value, fill=variable)) +
 geom_density(alpha= .25 )

Аргумент альфа управляет непрозрачностью каждого графика плотности. Важно установить это значение ниже 1, чтобы вы могли видеть каждый график плотности, когда они накладываются друг на друга.

В следующем пошаговом примере показано, как использовать этот синтаксис на практике.

Шаг 1: Создайте данные

Во-первых, давайте создадим поддельный набор данных с тремя переменными:

#make this example reproducible
set. seed (1)

#create data
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

Шаг 2. Преобразование данных из широких в длинные

Далее нам нужно преобразовать данные из широкого формата в длинный, чтобы сделать их совместимыми с 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

Шаг 3: Создайте графики плотности наложения

Наконец, мы можем создать графики плотности наложения:

library (ggplot2)

#create overlaying density plots
ggplot(data, aes (x=value, fill=variable)) +
 geom_density(alpha= .25 ) 
Наложение графиков плотности в ggplot2

Не стесняйтесь настраивать альфа -значение, чтобы сделать графики плотности более или менее прозрачными.

Например, вот как будут выглядеть графики, если мы увеличим значение альфа:

library (ggplot2)

#create overlaying density plots
ggplot(data, aes (x=value, fill=variable)) +
 geom_density(alpha= .7 ) 

Дополнительные ресурсы

Как создать диаграмму Ганта в R с помощью ggplot2
Как создать сгруппированный блокплот в R с помощью ggplot2
Как создавать параллельные графики в R с помощью ggplot2

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.