我想要查看有效数据的历史记录
mkts = c('GOLD','SILVER')
dt = CJ(date = seq(as.Date('2000-01-01'), as.Date('2020-01-01'), by = 1), market = mkts)
dt[market == 'GOLD', hasValidData := (date > '2005-01-01') & (date < '2018-01-01')]
dt[market == 'SILVER', hasValidData := (date > '2010-01-01') & (date < '2018-01-01')]
因此,GOLD拥有2005年至2017年的有效数据,而SILVER拥有2010-2017的有效数据。
我想为每个市场绘制整个x轴上的水平区域(色带?),如果有有效数据则填充一种颜色,如果没有则填充另一种颜色。
这就是我试过的
dt[, yorder := match(market, mkts)]
ggplot(dt) + geom_ribbon(aes(x = date, ymin = yorder, ymax = yorder+1, fill = hasValidData), alpha = 0.3)
但它不起作用。
有什么建议吗? (理想情况下,我希望自动设置y-tick-label)