Как создать график в 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 ')
Синяя линия представляет значения блока данных с именем 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