ggplot2绘制多层注释散点图

欢迎关注R语言数据分析指南

本节复现一张图原图如下所示;此图的绘制倒也不难,可以看作为基础散点图+折线图,难点也许在于上方方块的绘制,但是如果熟悉ggplot2中的几何对象倒也很容易找到思路;下面小编就来仔细写一下绘图过程,细节还算有一些,请细细品味

原图

复现图

原图可以看作是使用了分面或循环进行绘制,当然此图部分细节处理也是不太到位,但是也无关大雅,在复现的过程中小编未使用普通的折线图而是通过ggalt包来添加平滑的曲线,从而来增加图的美感;通过构建两份数据来添加两种图层,同时还需要注意的一个概念全局映射局部映射

加载R包

library(tidyverse)
library(ggalt)
library(ggnewscale)

导入数据

df <- read_csv("KY.csv") %>% filter(id=="SH1") %>% 
  mutate(Testdate=str_remove(Testdate,"2022.08.")) %>% 
  select(-date_onset) %>% 
  pivot_longer(-c("id","Ky","Testdate"))

计算Y轴最高点

df2 <- df %>% select(Ky,Testdate,value) %>% 
  drop_na() %>% 
  mutate(value=max(value)+2,Ky=as.character(Ky))

数据可视化部分请移步观看,本文首发于微信公众号R语言数据分析指南,期待大家的关注

你可能感兴趣的:(ggplot2绘制多层注释散点图)