楼主: allain
2835 4

[有偿编程] geom_ribbon相关问题 [推广有奖]

已卖:2450份资源

院士

89%

还不是VIP/贵宾

-

威望
0
论坛币
15833 个
通用积分
58.6698
学术水平
46 点
热心指数
57 点
信用等级
26 点
经验
53820 点
帖子
1691
精华
0
在线时间
7925 小时
注册时间
2005-5-23
最后登录
2026-1-22

楼主
allain 在职认证  发表于 2020-5-25 17:01:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

欢迎使用Markdown编辑器

geom_ribbon相关问题

我想利用geom_ribbon做一个图,主要是做两组直线之间的填充
具体数据生成过程如下,

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)
  )


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 <- mutate(d_tar, 
                pd_china = case_when(date <= as.Date("2018-04-02") ~ "A",
                                     date <= as.Date("2018-05-01") ~ "C",
                                     date <= as.Date("2018-07-01") ~ "D",
                                     date <= as.Date("2018-07-06") ~ "E",
                                     date <= as.Date("2018-08-23") ~ "F",
                                     date <= as.Date("2018-09-24") ~ "G",
                                     date <= as.Date("2018-11-01") ~ "H",
                                     date <= as.Date("2019-01-01") ~ "I",
                                     date <= as.Date("2019-06-01") ~ "K",
                                     date <= as.Date("2019-07-01") ~ "M",
                                     date <= as.Date("2019-09-01") ~ "N",
                                     date <= as.Date("2019-09-17") ~ "O",
                                     date <= as.Date("2019-12-26") ~ "P",
                                     date <= as.Date("2020-02-14") ~ "Q",
                                     date <= as.Date("2020-04-30") ~ "T"),
                pd_us = case_when(date <= as.Date("2018-02-06") ~ "XA",
                                  date <= as.Date("2018-03-22") ~ "XB",
                                  date <= as.Date("2018-07-05") ~ "XC",
                                  date <= as.Date("2018-08-22") ~ "XD",
                                  date <= as.Date("2018-12-31") ~ "XE",
                                  date <= as.Date("2019-06-14") ~ "XF",
                                  date <= as.Date("2019-08-31") ~ "XG",
                                  date <= as.Date("2020-02-13") ~ "XH",
                                  date <= as.Date("2020-04-30") ~ "XI")
)

上述就是数据生成的过程
下面是做图的code


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

结果如下

我的问题是,我的数据里面是没有NA值的,为什么某些日期处是空白的,没有被填充上呢

如答案可解决问题,我 愿意出50论坛币

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:EOM GEO Down 数据生成 Mark

沙发
allain 在职认证  发表于 2020-5-25 17:04:53
我不知道用markdown怎么添加图片,
所以我把图片放在这里

2.png (14.99 KB)

2.png

藤椅
cheetahfly 在职认证  发表于 2020-5-25 23:01:43
从开始到2018-04-02,pd_China是“A”,从2018-04-03之后,pd_China是“C”,那么2018-04-02到2018-04-03之间,就是空白了。

板凳
allain 在职认证  发表于 2020-5-25 23:17:18
cheetahfly 发表于 2020-5-25 23:01
从开始到2018-04-02,pd_China是“A”,从2018-04-03之后,pd_China是“C”,那么2018-04-02到2018-04-03之 ...
该怎么修改呢?

报纸
allain 在职认证  发表于 2020-5-25 23:17:38
cheetahfly 发表于 2020-5-25 23:01
从开始到2018-04-02,pd_China是“A”,从2018-04-03之后,pd_China是“C”,那么2018-04-02到2018-04-03之 ...
谢谢你的回复

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-24 18:32