美文网首页
配对折线图

配对折线图

作者: 余绕 | 来源:发表于2022-12-25 22:53 被阅读0次

准备数据

library(tidyverse)
HIV <- tibble(Triplet = str_c('Triplet', 1:7, sep = ' '),
              From = c(rep('Zambia', 4), rep('South Africa', 3)), 
              `Group A` = c('28/1687 (1.64)', 
                            '33/2086 (1.57)', 
                            '23/1695 (1.36)', 
                            '41/2013 (2.04)', 
                            '36/1507 (2.35)', 
                            '26/1808 (1.43)', 
                            '13/2195 (0.57)'),
              `Group B` = c('19/1979 (0.94)', 
                            '29/2408 (1.20)', 
                            '22/1687 (1.30)', 
                            '19/1698 (1.13)', 
                            '33/1811 (1.80)', 
                            '26/2078 (1.24)', 
                            '10/2488 (0.40)'),
              `Group C` = c('24/2054 (1.17)', 
                            '33/2262 (1.48)', 
                            '29/1811 (1.63)', 
                            '37/1561 (2.39)', 
                            '28/1304 (2.15)', 
                            '32/1375 (2.31)', 
                            '14/2195 (0.59)'))



#数据调整

library(tidyr)
library(stringr)
library(ggplot2)
library(cowplot)
library(ggsci)

HIV_newdata <- gather(HIV, key = Group, value = Value, 3:5) %>%
  separate(col = Value, # 拆分这一列
           sep = ' ',  # 分割符
           into = c('Number', 'Ratio')) %>% # 分割成的两列
  separate(col = Number, 
           sep = '/', into = c('Num', 'Total')) %>% # Number分割成的两列
  mutate(Ratio = as.numeric(str_remove_all(Ratio, '\\(|\\)')),  #替换掉括号
         Num = as.numeric(Num),
         Total = as.numeric(Total))  #vaTotal转换成数值性并赋给Total自己

数据查看 HIV_newdata
image.png

绘图

filter(HIV_newdata, Group %in% c('Group A', 'Group C'))%>% ggplot(aes(x = Group, y = Ratio, color = Triplet)) +
  geom_line(aes(group = Triplet)) +  #映射到两组之间划线
  geom_point(aes(size = Num)) +  #加点,点的大小映射到Num
  geom_text_repel(data = filter(HIV_newdata, Group == 'Group A'), #加组A的标签
                  nudge_x = -0.15,  标签左移0.15
                  show.legend = F, 
                  min.segment.length = Inf, 不展示标签和点之间的连接线
                  color = 'black',
                  segment.size = 0,
                  aes(label = str_remove(Triplet, 'Triplet '))) + #标签,其中利用函数把Triplet字符去掉
  geom_text_repel(data = filter(HIV_newdata, Group == 'Group C'),
                  nudge_x = 0.15,  标签右移0.15
                  min.segment.length = Inf, #不展示标签和点之间的连接线
                  show.legend = F,
                  color = 'black',
                  segment.size = 0,
                  aes(label = str_remove(Triplet, 'Triplet '))) + #标签,其中利用函数把Triplet字符去掉
    scale_color_jco() + #利用jco杂志颜色
  scale_size(name = 'No. of Envents:',    #图例点大小标签
             breaks = seq(10, 40, 10),
             labels = seq(10, 40, 10), 
             limits = c(10, 50),    #图例点大小阈值范围
             range = c(1, 5)) +  #对点大小进行调整
  scale_y_continuous(expand = c(0, 0), limits = c(0, 2.5)) + #把y轴设置为0开始,且设置起始值。
  labs(x = '', y = 'HIV Infections\n(per 100 persons)') +
  theme_half_open() 
image.png

相关文章

  • 配对折线图

    准备数据 数据查看 HIV_newdata 绘图

  • R基础画图

    山脊图image.png 折线图+散点 配对坡度图image.png 散点图加曲线 生存曲线 和弦图image.p...

  • ggplot2: 配对折线图

    详细代码从下面百度网盘链接获取链接: https://pan.baidu.com/s/1Y5Of4Xl7zNQvR...

  • echarts插件-图表宽度自适应

    单个折线图 多个折线图

  • 处女座⑥

    十二星座配对 处女座&白羊座 友情配对指数:❤️❤️❤️❤️ 爱情配对指数:❤️❤️❤️❤️ 婚姻配对指数:❤️❤...

  • 为什么你做的折线图那么生硬?

    今天来讲解基本图表,折线图,以及折线图特有的美化技巧。我们常用的折线图有两种:折线图和带数据标记的折线图。数据标记...

  • matplotlib图形绘制(上)

    示例一:初始折线图1 完善折线图1(画布层-尺寸和像素) 示例二:初始折线图2 完善折线图2(辅助显示层-修改x和...

  • 找配对的

    “妈妈,找配对的” “咦,什么配对的,找配对的袜子么? 老母亲有些惊喜,爸爸正愁雨天没事打发呢! “找配对的”,他...

  • Mcnemar检验,Kappa检验

    1. 配对四格表的卡方检验 熟悉经典比较的都知道有配对t检验,在列联表中也有配对的列联表。与配对t检验类似,配对列...

  • canvas图表(2) - 折线图

    地址:canvas图表(2) - 折线图canvas图表系列第2节,我们接着实现折线图效果请看:折线图http:/...

网友评论

      本文标题:配对折线图

      本文链接:https://www.haomeiwen.com/subject/laamqdtx.html