Часто вам может понадобиться отобразить несколько столбцов из фрейма данных в R. К счастью, это легко сделать с помощью библиотеки визуализации ggplot2 .
В этом руководстве показано, как использовать ggplot2 для построения нескольких столбцов фрейма данных на одном и том же графике и на разных графиках.
Пример 1. Нанесение нескольких столбцов на один и тот же график
В следующем коде показано, как сгенерировать фрейм данных, затем «переплавить» фрейм данных в длинный формат, а затем использовать ggplot2 для создания линейного графика для каждого столбца во фрейме данных:
#load necessary libraries
library(ggplot2)
library(reshape2)
#create data frame
df <- data.frame(index=c(1, 2, 3, 4, 5, 6),
var1=c(4, 4, 5, 4, 3, 2),
var2=c(1, 2, 4, 4, 6, 9),
var3=c(9, 9, 9, 5, 5, 3))
#melt data frame into long format
df <- melt(df , id. vars = 'index', variable. name = 'series')
#create line plot for each column in data frame
ggplot(df, aes (index, value)) +
geom_line( aes (colour = series))

Пример 2. Нанесение нескольких столбцов на разные графики
В следующем коде показано, как сгенерировать фрейм данных, затем «переплавить» фрейм данных в длинный формат, а затем использовать ggplot2 для создания линейного графика для каждого столбца во фрейме данных, разбивая каждую строку на отдельный график:
#load necessary libraries
library(ggplot2)
library(reshape2)
#create data frame
df <- data.frame(index=c(1, 2, 3, 4, 5, 6),
var1=c(4, 4, 5, 4, 3, 2),
var2=c(1, 2, 4, 4, 6, 9),
var3=c(9, 9, 9, 5, 5, 3))
#melt data frame into long format
df <- melt(df , id. vars = 'index', variable. name = 'series')
#create line plot for each column in data frame
ggplot(df, aes (index, value)) +
geom_line() +
facet_grid(series ~ .)

Дополнительные ресурсы
Как создавать параллельные графики в ggplot2
Как создать сгруппированный блокплот в R с помощью ggplot2