Как создать график в ggplot2, используя несколько фреймов данных


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

 library (ggplot2)

ggplot() + 
  geom_line(data=df1, aes(x=x_var, y=y_var), color=' blue ') + 
  geom_line(data=df2, aes(x=x_var, y=y_var), color=' red ')

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

Указав имена фреймов данных на уровне geom() , мы можем включить данные из нескольких фреймов данных в один график.

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

Пример. Создайте график в ggplot2, используя несколько фреймов данных.

Предположим, у нас есть следующие два кадра данных в R, которые содержат информацию об общем объеме продаж, совершенных в двух разных магазинах в разные дни:

 #create first data frame
df1 <- data. frame (day=1:8,
                  sales=c(6, 8, 9, 14, 13, 13, 7, 10))

df1

  day sales
1 1 6
2 2 8
3 3 9
4 4 14
5 5 13
6 6 13
7 7 7
8 8 10

#create second data frame
df2 <- data. frame (day=1:8,
                  sales=c(2, 3, 3, 5, 7, 6, 5, 9))

df2

  day sales
1 1 2
2 2 3
3 3 3
4 4 5
5 5 7
6 6 6
7 7 5
8 8 9

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

 library (ggplot2)

#create line plot using multiple data frames
ggplot() + 
  geom_line(data=df1, aes(x=day, y=sales), color=' steelblue ') + 
  geom_line(data=df2, aes(x=day, y=sales), color=' coral2 ') 

ggplot2 несколько кадров данных

Синяя линия представляет значения блока данных с именем df1 , а красная линия представляет значения блока данных с именем df2 .

Обратите внимание, что этот метод также работает с другими функциями geom() .

Например, мы могли бы создать следующую диаграмму рассеяния для отображения продаж по магазинам из каждого фрейма данных:

 library (ggplot2)

#create scatter plot using multiple data frames
ggplot() + 
  geom_point(data=df1, aes(x=day, y=sales), color=' steelblue ') + 
  geom_point(data=df2, aes(x=day, y=sales), color=' coral2 ') 

Синие точки представляют значения блока данных с именем df1 , а красные точки представляют значения блока данных с именем df2 .

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

В следующих руководствах объясняется, как выполнять другие распространенные задачи в ggplot2:

Как построить несколько строк в ggplot2
Как изменить метки легенды в ggplot2
Как изменить метки оси X в ggplot2

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

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