Как добавить таблицы на графики в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *