Як додати таблиці до графіків у ggplot2 (2 приклади)


Часто ви можете додати таблиці до графіків, створених у ggplot2 у R, щоб читачі могли візуалізувати необроблені дані разом із графіком.

На щастя, за допомогою пакета ggpmisc легко додати таблиці до графіків:

 install. packages (' ggpmisc ')
library (ggpmisc)

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(13, 23, 24, 20, 19, 14, 29, 31))

#view data frame
df

  team position points
1 AG 13
2 AG 23
3 AF 24
4 AF 20
5 BG 19
6 BG 14
7 BF 29
8 BF 31

Приклад 1: додайте таблицю до Barplot у ggplot2

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

 library (ggplo2)
library (ggpmisc)

#create barplot with table
ggplot(df, aes(x=team, y=points, fill=position)) + 
    geom_bar(position=' dodge ', stat=' identity ') +
    annotate(geom = ' table ',
           x=4,
           y=0,
           label=list(df))

таблиця ggplot2

Якщо ви працюєте з великим набором даних і не хочете відображати кожен окремий рядок, ви можете скористатися функцією table() , щоб узагальнити дані перед створенням таблиці в ggplot2:

 library (ggplot2)
library (ggpmisc)

#summarize frequencies of team and points in table
my_table <- as. data . frame (table(df[, c(1, 3)]))

#create barplot with table
ggplot(df, aes(x=team, y=points, fill=position)) + 
    geom_bar(position=' dodge ', stat=' identity ') +
    annotate(geom = ' table ',
           x=4,
           y=0,
           label=list(my_table))

Приклад 2: додайте таблицю до діаграми розсіювання в ggplot2

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

 library (ggplo2)
library (ggpmisc)

#create scatterplot with table
ggplot(df, aes(x=team, y=points)) + 
    geom_point(aes(color=position)) +
    annotate(geom=' table ',
           x=4,
           y=0,
           label=list(df))

Примітка . Не соромтеся грати зі значеннями x і y у функції annotate() , щоб розмістити масив у точному місці, яке вам потрібно.

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

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

Як додати текст до графіків ggplot2
Як змінити позицію заголовка в ggplot2
Як змінити порядок елементів у легенді ggplot2

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

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