geom_ribbon填充不同的颜色

时间:2020-05-25 07:01:39

标签: r ggplot2

数据集就是这样

library(tidyverse)
library(lubridate)

tarrif <- tibble(
  date = c(as.Date("2018-01-01"),as.Date("2018-02-07"),as.Date("2018-03-23"),
           as.Date("2018-04-02"),as.Date("2018-05-01"),as.Date("2018-07-01"),
           as.Date("2018-07-06"),as.Date("2018-08-23"),as.Date("2018-09-24"),
           as.Date("2018-11-01"),as.Date("2019-01-01"),as.Date("2019-02-07"),
           as.Date("2019-06-01"),as.Date("2019-06-15"),as.Date("2019-07-01"),as.Date("2019-09-01"),
           as.Date("2019-09-17"),as.Date("2019-12-26"),as.Date("2020-02-07"),
           as.Date("2020-02-08"),as.Date("2020-02-14"),as.Date("2020-04-30")),
  china = c(8.0,8.0,8.0,8.4,8.3,7.2,10.1,14.4,18.3,18.2,16.5,
            16.5,20.7,20.7,20.7,21.8,21.1,20.9,20.9,20.9,20.3,20.3),
  us = c(3.1,3.2,3.8,3.8,3.8,3.8,6.7,8.2,12.0,12.0,12.0,12.0,12.0,
         17.6,17.6,21.0,21.0,21.0,21.0,21.0,19.3,19.3),
  pd_china = c("A","A","A","B","C","D","E","F","G","I","H",
               "H","J","J","K","L","M","N","N","N","O","O")
)

d <- tibble(
  date = seq(as.Date("2018-01-01"),
             as.Date("2020-04-30"),
             by = "1 day")
)

d_tar <- left_join(d,tarrif,by = "date")


d_tar <- fill(d_tar,china,.direction = "down")
d_tar <- fill(d_tar,us,.direction = "down")
d_tar <- fill(d_tar,pd_china, .direction = "down")

我用d_tar作图 这样的代码

ggplot() + 
  geom_ribbon(data = d_tar,
              aes(date,ymin = us,ymax = china,fill = "pd_china")) + 
  geom_line(data = d_tar,
            aes(x = date,y = china),
            size = 1) + 
  geom_line(data = d_tar,
            aes(x = date,y = us),
            size = 1)

但是结果就像小偷 我给pd_china这么多观察 为什么色带填充只有一种颜色? enter image description here

0 个答案:

没有答案
相关问题