创建 horizon 地块

Create horizon plot

我有以下示例数据,想创建一个 horizon 图,显示 area 列中 year 的变化。关于使用 ggplot2 执行此操作的任何建议?

year <- 1990:2005
area1 <- runif(16, 18,20)
area2 <- runif (16,6,6.7)
area3 <- runif(16, 7,8)
dat <- data.frame(year, area1, area2, area3)

您可以使用 ggTimeSeries 包中的 ggplot_horizon 创建一个 horizon 图。你的数据样本对于一个好的 horizon 图来说有点稀疏,所以我创建了一些假数据。下面的示例基于 ggTimeSeries vignette.

中的示例
# Fake data
set.seed(1)
df = data.frame(x = rep(1:1000,3), y = cumsum(rnorm(3000)) + 50, 
                group=rep(LETTERS[1:3], each=1000))

#devtools::install_github("Ather-Energy/ggTimeSeries")
#install.packages("viridis")
library(ggTimeSeries)
library(viridis)

ggplot_horizon(df, 'x', 'y', vcGroupingColumnNames='group', bandwidth=10) +
  facet_grid(group ~ .) +
  scale_fill_viridis(option="inferno") 

不太确定您在寻找什么,但从这个结构开始,然后从那里开始。

dat <- reshape2::melt(dat, id.var = "year")
library(ggplot2)
ggplot(dat, aes(x = year, y = value, colour = variable)) + geom_point()