首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用geom_rect在ggplot中填充geom_line图下面的区域?

如何用geom_rect在ggplot中填充geom_line图下面的区域?
EN

Stack Overflow用户
提问于 2021-07-18 04:18:21
回答 2查看 41关注 0票数 1

这是我的图:

代码语言:javascript
复制
library(ggplot2)
economics <- economics %>% mutate(year = year(economics$date))

ggplot(economics,aes(year, unemploy))+
  geom_line() +
  geom_rect(aes(xmin = 1970,xmax = 1975,
                     ymin = 0, ymax = unemploy))

我想填下1970到1975年间的线条图下面的区域。但它不起作用。

我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-18 04:41:57

问题是,在ymax中,我们使用的是整个列'unemploy',它应该是该年份范围内'unemploy‘的max

代码语言:javascript
复制
library(ggplot2)
library(dplyr)
library(lubridate)
economics %>%
    mutate(year = year(date)) %>% 
    ggplot(aes(year, unemploy)) + 
        geom_line() +
   geom_rect(aes(xmin = 1970,xmax = 1975,
                      ymin = 0,
        ymax = max(.data[['unemploy']][between(.data[['year']], 1970, 1975)]))) + 
    theme_bw()
票数 2
EN

Stack Overflow用户

发布于 2021-07-18 04:35:58

您可以选择对您有意义的ymax。例如,我设置了ymax = 4800

代码语言:javascript
复制
library(ggplot2)
ggplot(economics,aes(year, unemploy))+
        geom_rect(aes(xmin = 1970,xmax = 1975,
                      ymin = 0, ymax = 4800), fill = "lightblue", alpha = .5) +
        geom_line()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68423992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档