如何根据第二个数据集中的数据在y轴位置绘制一个数据集中的文本标签?

如何解决如何根据第二个数据集中的数据在y轴位置绘制一个数据集中的文本标签?

我第一次尝试使用reprex创建我的问题的可重现示例,因此希望它可以正确运行。因此,我在ggplot中使用了两个数据集,并且试图在实施之日起将国家政策绘制在冠状病毒病例数以上。在这个示例中,我选择从两个数据集中只关注一个国家。我已经考虑过尝试加入它们,但是两个数据集中的国家/地区数量并不相等,因此我不确定这是否行得通。

因此,目标是使策略名称徘徊在实施日期的最上方。我相信它们当前处于正确的位置,但是我不知道如何在geom文本层中设置y轴位置,因为案例的数据正在第一层中使用。

任何有关如何解决此问题的建议都将非常有帮助,谢谢。

编辑:我打算将其扩展到我的数据集中的所有国家(大约176个),因此手动进行操作不是现实的方法。

library(tidyverse)
library(scales)
#> 
#> Attaching package: 'scales'
#> The following object is masked from 'package:purrr':
#> 
#>     discard
#> The following object is masked from 'package:readr':
#> 
#>     col_factor

policy_uk <- data.frame(
  stringsAsFactors = FALSE,X = c(1L,2L,3L,4L,5L,6L,7L,8L,9L,10L,11L,12L,13L,14L,15L,16L,17L),CountryName = c("United Kingdom","United Kingdom","United Kingdom"),Date = c("2020-01-20","2020-01-31","2020-02-02","2020-02-03","2020-03-11","2020-03-16","2020-03-17","2020-03-20","2020-03-22","2020-03-23","2020-03-26","2020-06-08"),policy = c("H2_Testing.policy","H3_Contact.tracing","H1_Public.information.campaigns","H5_Investment.in.vaccines","E3_Fiscal.measures","E4_International.support","H4_Emergency.investment.in.healthcare","C2_Workplace.closing","C3_Cancel.public.events","E2_Debt.contract.relief","E1_Income.support","C7_Restrictions.on.internal.movement","C1_School.closing","C4_Restrictions.on.gatherings","C6_Stay.at.home.requirements","C5_Close.public.transport","C8_International.travel.controls"),level = c(1,2,26014287.82,32223318564.93,183360000,6444663712.99,1,3,4,2)
)


uk_cases <- data.frame(
         stringsAsFactors = FALSE,countriesAndTerritories = c("United_Kingdom","United_Kingdom","United_Kingdom"),dateRep = c("2020-08-13","2020-08-12","2020-08-11","2020-08-10","2020-08-09","2020-08-08","2020-08-07","2020-08-06","2020-08-05","2020-08-04","2020-08-03","2020-08-02","2020-08-01","2020-07-31","2020-07-30","2020-07-29","2020-07-28","2020-07-27","2020-07-26","2020-07-25","2020-07-24","2020-07-23","2020-07-22","2020-07-21","2020-07-20","2020-07-19","2020-07-18","2020-07-17","2020-07-16","2020-07-15","2020-07-14","2020-07-13","2020-07-12","2020-07-11","2020-07-10","2020-07-09","2020-07-08","2020-07-07","2020-07-06","2020-07-05","2020-07-04","2020-07-03","2020-07-02","2020-07-01","2020-06-30","2020-06-29","2020-06-28","2020-06-27","2020-06-26","2020-06-25","2020-06-24","2020-06-23","2020-06-22","2020-06-21","2020-06-20","2020-06-19","2020-06-18","2020-06-17","2020-06-16","2020-06-15","2020-06-14","2020-06-13","2020-06-12","2020-06-11","2020-06-10","2020-06-09","2020-06-08","2020-06-07","2020-06-06","2020-06-05","2020-06-04","2020-06-03","2020-06-02","2020-06-01","2020-05-31","2020-05-30","2020-05-29","2020-05-28","2020-05-27","2020-05-26","2020-05-25","2020-05-24","2020-05-23","2020-05-22","2020-05-21","2020-05-20","2020-05-19","2020-05-18","2020-05-17","2020-05-16","2020-05-15","2020-05-14","2020-05-13","2020-05-12","2020-05-11","2020-05-10","2020-05-09","2020-05-08","2020-05-07","2020-05-06","2020-05-05","2020-05-04","2020-05-03","2020-05-02","2020-05-01","2020-04-30","2020-04-29","2020-04-28","2020-04-27","2020-04-26","2020-04-25","2020-04-24","2020-04-23","2020-04-22","2020-04-21","2020-04-20","2020-04-19","2020-04-18","2020-04-17","2020-04-16","2020-04-15","2020-04-14","2020-04-13","2020-04-12","2020-04-11","2020-04-10","2020-04-09","2020-04-08","2020-04-07","2020-04-06","2020-04-05","2020-04-04","2020-04-03","2020-04-02","2020-04-01","2020-03-31","2020-03-30","2020-03-29","2020-03-28","2020-03-27","2020-03-25","2020-03-24","2020-03-21","2020-03-19","2020-03-18","2020-03-17"),cases = c(1009L,1148L,816L,1062L,758L,871L,950L,891L,670L,928L,743L,771L,880L,846L,763L,70L,371L,421L,667L,731L,773L,751L,793L,413L,493L,569L,704L,772L,685L,726L,361L,442L,565L,715L,693L,597L,555L,401L,579L,602L,651L,617L,730L,446L,649L,671L,721L,778L,886L,896L,639L,687L,986L,1027L,1013L,1102L,1043L,822L,890L,1052L,1017L,1199L,1158L,1099L,801L,1120L,1243L,1356L,1484L,1441L,1079L,1125L,1527L,1760L,1835L,1672L,1624L,1364L,2062L,2574L,2718L,3052L,2589L,1838L,2079L,2526L,2628L,3307L,3402L,3586L,2329L,2157L,3063L,3767L,3827L,3682L,3389L,2982L,3229L,4737L,4966L,5442L,4729L,4706L,3473L,3748L,4970L,5158L,5487L,4760L,4854L,3853L,4721L,4956L,5292L,5065L,4326L,4178L,3489L,3579L,4313L,4858L,5131L,5450L,5282L,3592L,4020L,4911L,4868L,4913L,4514L,4273L,2858L,2822L,3197L,3087L,2692L,2375L,2338L,1378L,1198L,1255L,1055L,999L,769L,611L,442L)
                       )


uk_cases$dateRep <- as.Date(uk_cases$dateRep)
policy_uk$Date <- as.Date(policy_uk$Date)


ggplot() + 
  geom_bar(data = uk_cases,aes(x = dateRep,y = cases),stat = "identity") + 
  geom_text(data = policy_uk,aes(x = Date,y = 5000,label = policy)) +
  scale_x_date(breaks = "1 month",minor_breaks = "1 week",labels=date_format("%B"))

reprex package(v0.3.0)于2020-08-13创建

解决方法

以下是四舍五入至最接近日期并使用该日期之后的案例编号的示例。问题是许多政策必须四舍五入到同一日期(例如,在报告任何案件之前发生的政策都被四舍五入到第一份报告)或日期与相同数目的案件一起四舍五入。要避开重叠标签,您需要使用position = "dodge"之类的偏斜标签。

setDT(policy_uk)[,join_date := Date]
setDT(uk_cases)[,join_date := dateRep]
# rolling join
df<-uk_cases[policy_uk,on = .(join_date),roll = "nearest"]

ggplot() + 
  geom_bar(data = uk_cases,aes(x = dateRep,y = cases),stat = "identity") + 
  geom_text(data = df,aes(x = Date,y = cases,label = policy)) +
  scale_x_date(breaks = "1 month",minor_breaks = "1 week",labels=date_format("%B"))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-