Як створити сюжет скрипки в ggplot2 (з прикладами)


Ви можете використовувати наступні методи для створення скрипкового сюжету в ggplot2:

Спосіб 1: створення скрипкових сюжетів групами

 ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) + 
  geom_violin() +

Спосіб 2: Створіть горизонтальні скрипкові доріжки за групою

 ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) + 
  geom_violin() +
  coordinate_flip()

Спосіб 3: Створення скрипкових діаграм за групою та відображення медіанного значення

 ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) + 
  geom_violin() +
  stat_summary(fun=median, geom=' point ', size= 2 )

У наведених нижче прикладах показано, як використовувати кожен метод на практиці з таким кадром даних у R:

 #make this example reproducible
set. seeds (1)

#create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 100 ),
                 points=c(rnorm(100, mean=10),
                          rnorm(100, mean=15),
                          rnorm(100, mean=20)))

#view head of data frame
head(df)

  team points
1 A 9.373546
2 A 10.183643
3 A 9.164371
4 A 11.595281
5 A 10.329508
6 A 9.179532

Примітка : ми використали функцію set.seed() , щоб забезпечити відтворюваність цього прикладу.

Приклад 1: Створіть обриси скрипки за групою

Ми можемо використати наступний синтаксис для створення графіків скрипки, які показують розподіл змінної балів , згрупованих за змінною team :

 library (ggplot2)

#create violin plot to visualize distribution of points by team
ggplot(df, aes(x=team, y=points, fill=team)) + 
  geom_violin() 

На осі X відображено кожну команду, а на осі Y – розподіл очок, набраних кожною командою.

Приклад 2: Створіть сліди скрипки за групою

Щоб створити горизонтальні скрипкові діаграми, які показують розподіл змінної балів , згрупованих за змінною team , просто додайте функцію coord_flip() :

 library (ggplot2)

#create horizontal violin plots to visualize distribution of points by team
ggplot(df, aes(x=team, y=points, fill=team)) + 
  geom_violin() +
  coordinate_flip() 

горизонтальні графіки скрипки в ggplot2

На осі Y відображено кожну команду, а на осі X – розподіл очок, набраних кожною командою.

Приклад 3: Створення скрипкових графіків за групами та відображення медіанного значення

У наведеному нижче коді показано, як створити скрипкові діаграми, які показують розподіл змінної балів , згрупованих за змінною team , із середнім значенням балів, представленим колом:

 library (ggplot2)

#create violin plots and display median points value as circle
ggplot(df, aes(x=team, y=points, fill=team)) + 
  geom_violin() +
  stat_summary(fun=median, geom=' point ', size= 2 ) 

діаграма скрипки в ggplot2

Середнє значення балів для кожної команди представлено маленьким кружечком усередині кожної скрипкової діаграми.

Примітка : щоб збільшити розмір кола, просто збільште значення аргументу size у функції stat_summary() .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в ggplot2:

Як змінити розмір шрифту в ggplot2
Як видалити легенду в ggplot2
Як обертати мітки осей у ggplot2

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *