Построение нескольких временных рядов в ggplot
У меня есть набор временных рядов, состоящий из 10 переменных.
Я хотел бы создать график временного ряда, где каждая переменная 10 будет отображаться в разных цветах со временем на одном графике. Значения должны быть на оси Y и датах на оси X.
Нажмите здесь для набора данных csv
Это (возможно, неправильный) код, который я использовал:
c.o<-read.csv(file="co.csv",head=TRUE)
ggplot(c.o, aes(Year, a, b, c, d, e,f))+geom_line()
и вот, как выглядит вывод из кода: ![]()
Может ли кто-нибудь указать мне в правильном направлении? Я не смог найти что-либо в предыдущих потоках.
РЕШЕНИЕ ПРОБЛЕМЫ, ПОСМОТРЕТЬ НИЖЕ.
Еще одна вещь, которую я хотел бы знать:
Можно ли добавить дополнительную строку к графику, который представляет среднее значение для всех переменных во времени, и иметь некоторое сглаживание ниже и выше этой строки для представления отдельных вариантов?
Ответы
Ответ 1
Если ваши данные называются df
примерно так:
library(ggplot2)
library(reshape2)
meltdf <- melt(df,id="Year")
ggplot(meltdf,aes(x=Year,y=value,colour=variable,group=variable)) + geom_line()
![enter image description here]()
Итак, в основном в моем коде, когда я использую aes()
im, говорящий, что ось x Year
, ось y value
, а затем colour
/grouping
равна variable
.
Функция melt()
заключалась в том, чтобы получить ваши данные в формате ggplot2
. Один большой столбец для Year
и т.д., Который вы затем эффективно разделяете, когда вы говорите ему, чтобы построить отдельные строки для вашего variable
.