如何解决将标签添加到注释 rect ggplot
我正在加班改变情节行为。我想包括阴影区域以强调某些阶段。目前我正在使用 annotate("rect" x=POSIXct("")..然后添加 annotate("label")...
有没有办法将标签直接添加到阴影区域,其中标签文本的大小和环绕会改变以适应阴影区域?或者,是否有更有效的方法来尝试在日期范围阴影区域中放置标签?
myDF <- labeled_rectxlsx
> str(myDF)
tibble [37 × 3] (S3: tbl_df/tbl/data.frame)
$ schDate : POSIXct[1:37],format: "2020-10-22" "2020-10-23" "2020-11-09"
"2020-11-12" ...
$ rating : num [1:37] NA NA NA NA NA NA NA NA NA NA ...
$ rect_label: chr [1:37] NA NA NA NA ...
schDate rating rect_label
...
11 2020-12-14 NA <NA>
12 2020-12-15 NA <NA>
13 2020-12-16 NA <NA>
14 2020-12-17 NA <NA>
15 2020-12-18 NA Winter Break
16 2021-01-03 NA <NA>
17 2021-01-04 6 <NA>
18 2021-01-05 8 <NA>
19 2021-01-06 5 <NA>
20 2021-01-07 8 <NA>
21 2021-01-08 7 <NA>
22 2021-01-11 6 <NA>
maxY <- max(labeled_rectxlsx$rating,na.rm=TRUE)
insideY= (maxY*.98)
p <- myDF %>%
ggplot(aes(x= schDate,y=rating))+
geom_point()+
geom_line()+
theme_classic()+
theme(
plot.title = element_text(size=20,face="bold"),axis.title.x = element_blank(),axis.title.y = element_text(size=14,axis.text.x = element_text(size=12),axis.text.y = element_text(size=12))+
annotate("rect",xmin = as.POSIXct("2020-12-19"),xmax = as.POSIXct("2021-01-03"),ymin = -Inf,ymax = Inf,fill = "gray",alpha =.5)+
annotate("label",x=as.POSIXct("2020-12-27"),y= insideY,label="Winter Break",fill="black",color="white",fontface="bold",size=4,vjust="inward")
p
解决方法
为了稍微扩展评论,您可以使用带有虚拟 data.frame 的 ggfittext 包来保存值,并结合 inherit.aes = FALSE
。
示例如下:
library(ggfittext)
#> Warning: package 'ggfittext' was built under R version 4.0.3
library(ggplot2)
set.seed(0)
myDF <- data.frame(
schDate = seq(Sys.Date() - 100,Sys.Date(),by = "1 day"),rating = cumsum(rnorm(101))
)
ggplot(myDF,aes(schDate,rating)) +
geom_point() +
geom_line() +
annotate("rect",xmin = as.Date("2020-12-19"),xmax = as.Date("2021-01-03"),ymin = -Inf,ymax = Inf,fill = "gray",alpha =.5) +
geom_fit_text(
data = data.frame(xmin = as.Date("2020-12-19"),label = "Winter Break"),aes(xmin = xmin,xmax = xmax,ymin = 4,ymax = 5,label = label),inherit.aes = FALSE
)
由 reprex package (v1.0.0) 于 2021 年 2 月 9 日创建
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。