R绘图 | 包含/比例关系环图

简介: R绘图 | 包含/比例关系环图

circle_inner

整个新系列。目前的几个系列, 「#R实战」  以「生信分析」为主, 「#跟着CNS学作图」「复现顶刊」Figure为主,而本系列 「#R绘图」 则是学习不在文章中但同样很好看的图,致力于给同学们在数据可视化中提供新的思路和方法。

本系列往期文章

  1. R绘图 | 气泡散点图+拟合曲线
  2. R绘图 | 对比条形图+连线
  3. R绘图 | 一幅小提琴图的美化之旅
  4. R绘图 | 山峦图(ggridges)
  5. R绘图 | 哑铃图+区域放大
  6. R绘图 | 描述性统计常用图(散点图+柱状图+饼图)
  7. R绘图 | 圆角堆叠柱状图(ggchicklet )
  8. R绘图 | 时间线热图
  9. R绘图 | 堆叠柱状图
  10. R绘图 | 云雨图+双向条形图

本期图片

image-20221202003722770

这图怎么说呢,看着很简单,确实也很简单。不考虑比例关系在PPT里就可以做。本文主要提供了在R中绘制的思路,也让圆圈的比例更加精确,当然出现更多数据时,画的也更方便。

绘制

library(tidyverse)
mobile_bytes <- read.csv('mobile_bytes.csv')
head(mobile_bytes)

看一下数据结构就知道了,本质还是散点图。将数据自己的即可。

> head(mobile_bytes)
     measure       date percentile   value year     name     x
1 bytesTotal 2022_10_01        p50 2010.05 2022 p50_2022  0.45
2 bytesTotal 2022_10_01        p90 8195.38 2022 p90_2022  1.00
3 bytesTotal 2018_10_01        p50 1273.32 2018 p50_2018 -0.57
4 bytesTotal 2018_10_01        p90 5126.38 2018 p90_2018 -1.00
                    label x_label
1 Peso\nmediano:\n2010 KB    0.45
2  Percentil 90:\n8195 KB    1.40
3 Peso\nmediano:\n1273 KB   -0.57
4  Percentil 90:\n5126 KB   -1.30
mobile_bytes$year <- as.factor(mobile_bytes$year)
str(mobile_bytes)
ggplot() +
  geom_point(aes(x = x, size = value, color = year), y = 0, alpha = 0.5,
             data = filter(mobile_bytes, percentile == "p90")) +
  geom_point(aes(x = x, size = value, color = year), y = 0,
             data = filter(mobile_bytes, percentile == "p50")) +
  geom_text(aes(x = x_label, label = label), y = 0.4, size = 2.5,
            data = filter(mobile_bytes, percentile == "p90")) +
  geom_text(aes(x = x_label, label = label), y = 0, size = 2.5,
            data = filter(mobile_bytes, percentile == "p50")) +
  annotate("text", x = -1, y = 1.3, label = "Octubre 2018",  size = 3.5) + 
  annotate("text", x = 1, y = 1.3, label = "Octubre 2022",  size = 3.5) +
  labs(
    x = NULL,
    y = NULL
  ) +
  scale_color_manual(
    values = c("#1b998b", "#fb6107")
  ) +
  scale_x_continuous(limits = c(-2, 2)) +
  scale_y_continuous(limits = c(-1.0, 1.4)) +
  scale_size_area(max_size = 82) +
  coord_equal() +
  theme(
    panel.background = element_blank(),
    panel.grid = element_blank(),
    axis.ticks = element_blank(),
    axis.text = element_blank(),
    legend.position = "none"
  )
# Export plot
ggsave("plot_circle.pdf", 
       width =1500, 
       height = 1200, 
       units = "px")

result

参考

相关文章
|
7月前
|
存储 算法 前端开发
1637. 两点之间不包含任何点的最宽垂直区域
1637. 两点之间不包含任何点的最宽垂直区域
47 0
|
数据可视化
绘制热图时看不出颜色差异?四种方式转换处理使结果显而“易”见
绘制热图时看不出颜色差异?四种方式转换处理使结果显而“易”见
19385 2
|
4月前
|
机器学习/深度学习 JSON 算法
|
7月前
|
Serverless
统计问题|绘制任意分布的 QQ 图
统计问题|绘制任意分布的 QQ 图
143 1
|
7月前
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
89 0
|
7月前
R 问题|如何合并图形并共享同一个图例?
R 问题|如何合并图形并共享同一个图例?
318 0
|
数据可视化
利用ggcor包绘制相关性组合图及环状热图
ggcor包最初是因为能快速实现19年Science一组合相关性图(上图所示)变得流行起来,除此该包对热图、热图等等的可视化都是很方便快捷的,除了之前介绍过的几种相关性图几种方式,此包也是个不错的选择,且具独特的风格(特别是组合相关性图、环形热图)。但是不知道因为何种原因此包在Github上消失了....,到作者(厚缊)个人博客上瞅了瞅发现关于包的参数介绍示例等也都没有了,在评论区里看到作者回答项目已不再提供任何代码和任何资料,需要的可以去国内的gitee和国外的github搜索看看有没有别人存的代码。
692 0
|
数据可视化 数据挖掘
常用 7 大类型图形可视化——偏差关系图形
常用 7 大类型图形可视化——偏差关系图形
217 0
|
数据可视化 数据挖掘
常用 7 大类型图形可视化——排序关系图形
常用 7 大类型图形可视化——排序关系图形
163 0
|
数据可视化 数据挖掘
常用 7 大类型图形可视化——分布
常用 7 大类型图形可视化——分布
153 0