如何增加情节的日期范围以在系列结束时为 geom_text 腾出空间?
Posted
技术标签:
【中文标题】如何增加情节的日期范围以在系列结束时为 geom_text 腾出空间?【英文标题】:how to increase date range of a plot to make room for geom_text at the end of series? 【发布时间】:2021-07-31 00:37:03 【问题描述】:我正在尝试使用 geom_text
在最后为我的系列添加标签,为此我尝试增加 x 轴范围 为系列标签腾出空间,但它没有增加其范围为scale_x_date
。
数据
library(tidyverse)
library(lubridate)
library(scales)
file_url1 <- "https://raw.githubusercontent.com/johnsnow09/covid19-df_stack-code/main/rtpcr_test_daily_pct.csv"
rtpcr_test_daily_pct <- read.csv(url(file_url1))
rtpcr_test_daily_pct <- rtpcr_test_daily_pct %>%
mutate(Updated.On = as.Date(Updated.On))
以下是我尝试过的代码,无论我使用 scale_x_date()
为 x 轴日期添加什么值,x 轴框架都保持不变。
我不确定我在下面尝试过的代码有什么问题:
rtpcr_test_daily_pct %>%
filter(!is.na(pct_rtpcr),
pct_rtpcr > 0 ) %>%
ggplot(aes(x = Updated.On,
y = pct_rtpcr,
col = State)
) +
geom_line(size = 1) +
geom_text(data = rtpcr_test_daily_pct %>%
filter(Updated.On == max(Updated.On)-1),
aes(label = State,
x = Updated.On ,
y = pct_rtpcr ),
vjust = -1,
size = 3) +
scale_y_continuous(labels = percent,
breaks = seq(.1,1, by = .1)) +
expand_limits(y = .1 ) + #
scale_x_date(aes(limits = as.Date(c("2021-03-01",max(Updated.On) + 15)))) +
theme_minimal() +
theme(legend.position = "none") +
labs(title = "% RTPCR testing Between Karnataka & Delhi- Mar'21 onwards") +
coord_equal(ratio = 70)
【问题讨论】:
【参考方案1】:使用:
scale_x_date(limits = c(as.Date("2021-03-01"),max(rtpcr_test_daily_pct$Updated.On) + 15))
完整代码-
library(tidyverse)
rtpcr_test_daily_pct %>%
filter(!is.na(pct_rtpcr),
pct_rtpcr > 0 ) %>%
ggplot(aes(x = Updated.On,
y = pct_rtpcr,
col = State)
) +
geom_line(size = 1) +
geom_text(data = rtpcr_test_daily_pct %>%
filter(Updated.On == max(Updated.On)-1),
aes(label = State,
x = Updated.On ,
y = pct_rtpcr ),
vjust = -1,
size = 3) +
scale_y_continuous(labels = percent,
breaks = seq(.1,1, by = .1)) +
expand_limits(y = .1 ) + #
scale_x_date(limits = c(as.Date("2021-03-01"),max(rtpcr_test_daily_pct$Updated.On) + 15)) +
theme_minimal() +
theme(legend.position = "none") +
labs(title = "% RTPCR testing Between Karnataka & Delhi- Mar'21 onwards") +
coord_equal(ratio = 70)
【讨论】:
感谢@Ronak,我实际上在在这里发布问题之前尝试了rtpcr_test_daily_pct$Updated.On
,但我想我并没有同时删除aes()
。再次感谢您的帮助!!以上是关于如何增加情节的日期范围以在系列结束时为 geom_text 腾出空间?的主要内容,如果未能解决你的问题,请参考以下文章
在使用 gghighlight 时为几个 geom_hlines 创建图例