创建地平线图

时间:2016-06-24 21:51:57

标签: r ggplot2 lattice

我有以下示例数据,想要创建一个水平图,显示areayear上的更改。有关使用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)

2 个答案:

答案 0 :(得分:4)

您可以使用ggplot_horizon包中的ggTimeSeries创建地平线图。您的数据样本对于良好的地平线图有点稀疏,因此我创建了一些虚假数据。以下示例基于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") 

enter image description here

答案 1 :(得分:2)

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

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