【发布时间】:2021-02-09 20:34:51
【问题描述】:
我正在让情节的行为改变加班。我想包括阴影区域以强调某些阶段。目前我正在使用 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, face="bold"),
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
【问题讨论】:
-
这听起来像是ggfittext的确切用例
-
谢谢!我试图弄清楚 ggfittext 是如何工作的。这将如何与 annotate() 一起工作? rect 不绑定到 df 变量是否重要?