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

Как добавить таблицы к графикам в 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 A G 13
2 A G 23
3 A F 24
4 A F 20
5 B G 19
6 B G 14
7 B F 29
8 B F 31

Пример 1: добавить таблицу в гистограмму в 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 Legend

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