Как построить несколько столбцов в R (с примерами)


Часто вам может понадобиться отобразить несколько столбцов из фрейма данных в 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