局部整体(七)利用python绘制圆形嵌套图

局部整体(七)利用python绘制圆形嵌套图

圆形嵌套图( Circular Packing)简介

1

将一组组圆形互相嵌套起来,以显示数据的层次关系,类似于矩形树图。数据集中每个实体都由一个圆表示,圆圈大小与其代表的值成正比,相对于treemap,圆堆图更直观简洁,虽然利用率上有缺陷。

快速绘制

  1. 基于circlify

    import circlify
    import matplotlib.pyplot as plt# 自定义数据
    data = [{'id': 'World', 'datum': 6964195249, 'children' : [{'id' : "North America", 'datum': 450448697,'children' : [{'id' : "United States", 'datum' : 308865000},{'id' : "Mexico", 'datum' : 107550697},{'id' : "Canada", 'datum' : 34033000} ]},{'id' : "South America", 'datum' : 278095425, 'children' : [{'id' : "Brazil", 'datum' : 192612000},{'id' : "Colombia", 'datum' : 45349000},{'id' : "Argentina", 'datum' : 40134425}]},{'id' : "Europe", 'datum' : 209246682,  'children' : [{'id' : "Germany", 'datum' : 81757600},{'id' : "France", 'datum' : 65447374},{'id' : "United Kingdom", 'datum' : 62041708}]},{'id' : "Africa", 'datum' : 311929000,  'children' : [{'id' : "Nigeria", 'datum' : 154729000},{'id' : "Ethiopia", 'datum' : 79221000},{'id' : "Egypt", 'datum' : 77979000}]},{'id' : "Asia", 'datum' : 2745929500,  'children' : [{'id' : "China", 'datum' : 1336335000},{'id' : "India", 'datum' : 1178225000},{'id' : "Indonesia", 'datum' : 231369500}]}]}]# 计算圆的位置
    circles = circlify.circlify(data, show_enclosure=False, # 不展示最外层的圈target_enclosure=circlify.Circle(x=0, y=0, r=1)
    )# 初始化布局
    fig, ax = plt.subplots(figsize=(8,8))
    ax.axis('off')# 标题
    ax.set_title('Repartition of the world population')# 轴范围设置
    lim = max(max(abs(circle.x) + circle.r,abs(circle.y) + circle.r,)for circle in circles
    )
    plt.xlim(-lim, lim)
    plt.ylim(-lim, lim)# 绘制所有level=2的圆(各大洲)
    for circle in circles:if circle.level != 2:continuex, y, r = circleax.add_patch( plt.Circle((x, y), r, alpha=0.5, linewidth=2, color="lightblue"))# 绘制level=3的圆(各大洲的各个国家),并标注国家名称
    for circle in circles:if circle.level != 3:continuex, y, r = circlelabel = circle.ex["id"]ax.add_patch( plt.Circle((x, y), r, alpha=0.5, linewidth=2, color="#69b3a2"))plt.annotate(label, (x,y ), ha='center', color="white")# 为所有level=2的圆(各大洲)标注名称
    for circle in circles:if circle.level != 2:continuex, y, r = circlelabel = circle.ex["id"]plt.annotate(label, (x,y ) ,va='center', ha='center', bbox=dict(facecolor='white', edgecolor='black', boxstyle='round', pad=.5))
    

    2

总结

以上利用circlify并结合matplotlib来绘制基本的圆形嵌套图。

共勉~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1551488.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何选择合适的跨境网络专线?

选择合适的跨境网络专线对于保障企业的国际业务顺畅运行至关重要。以下是一些选择跨境网络专线时可以参考的关键点: 服务商的信誉和经验:首先考察服务商的市场声誉和行业经验。一个好的服务商应该拥有良好的客户评价和成功案例,这表明他们有能…

掌握自动化测试必要的几种技能?

1.自动化测试员技能——编程语言 当我开始担任手动测试人员时,我不喜欢编码。但是,当我逐渐进入自动化领域时,对我来说很清楚,如果没有对编程语言的一些基本了解,就无法编写逻辑自动化测试脚本。 对编程有一点了解&a…

记录|Modbus-TCP产品使用记录【德克威尔】

目录 前言一、德克威尔1.1 实验图1.2 DECOWELL IO Tester 软件1.3 读写设置1.4 C#进行Modbus-TCP读写 更新时间 前言 参考文章: 使用的第二款Modbus-TCP产品。 一、德克威尔 1.1 实验图 1.2 DECOWELL IO Tester 软件 这也是自带模块配置软件的。下图就是德克威尔的…

nlp任务之预测中间词-huggingface

目录 1.加载编码器 1.1编码试算 2.加载数据集 3.数据集处理 3.1 map映射:只对数据集中的sentence数据进行编码 3.2用filter()过滤 单词太少的句子过滤掉 3.3截断句子 4.创建数据加载器Dataloader 5. 下游任务模型 6.测试预测代码 7.训练代码 8.保…

Solidworks斜接法兰快速绘制钣金箱体

Solidworks斜接法兰快速绘制钣金箱体 Chapter1 Solidworks斜接法兰快速绘制钣金箱体 Chapter1 Solidworks斜接法兰快速绘制钣金箱体 0.5mm间距为钣金焊接的预留焊缝。

高标准农田灌区信息化:为农业可持续发展注入新动力

高标准农田灌区信息化,作为现代农业科技与信息技术深度融合的典范,正逐步成为推动农业可持续发展的关键力量。这一创新模式不仅提升了农业生产效率与资源利用率,还为保障国家粮食安全、促进农村经济转型升级以及实现环境友好型农业开辟了新路…

基于Springboot+Vue的视频点播系统设计与实现登录 (含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统中…

小程序原生-数据的双向绑定

1. 通过model:实现数据的双向绑定 <input type"text" name"名称" model:value"{{name}}" /> <checkbox model:checked"{{isChecked}}"/> 是否同意该协议// pages/test/test.js Page({data: {name:wuk,isChecked:false}, }…

黑马头条day9 热点文章定时文章

bug 调度失败 刚开始以为是进程端口被占用了 Address already in use: bind【解决办法】-CSDN博客 ①先查询出占用端口的进程号 netstat -ano|findstr 8010②杀死该进程号的进程 taskkill -f -pid 21320发现关掉端口还是不行 解决了跨域问题也不行 解决办法 给的官方里…

png图片怎么转换成jpg?5个软件帮助你快速进行图片的格式转换

png图片怎么转换成jpg&#xff1f;5个软件帮助你快速进行图片的格式转换 将 PNG 图片转换为 JPG 是一种常见的需求&#xff0c;特别是当你需要减小图片文件大小或在不支持 PNG 格式的环境中使用时。以下五款软件能帮助你快速、简单地完成图片格式的转换&#xff0c;它们功能齐…

可以白嫖PPT模板的6个网站,赶紧收藏

推荐6个PPT模板网站&#xff0c;免费下载&#xff0c;绝对的高质量&#xff0c;赶紧收藏&#xff01; 1、菜鸟图库 ppt模板免费下载|ppt背景图片 - 菜鸟图库 菜鸟图库网有非常丰富的免费素材&#xff0c;像设计类、办公类、自媒体类等素材都很丰富。PPT模板种类很多&#xff0…

H5公众号调用微信扫一扫功能(vue)

1.引入微信sdk import wx from weixin-js-sdk 2.初始化微信sdk,构建扫一扫所需要的参数 async initWxConfig() { //首先获取当前url地址 let url await getSignUrl() let params { appid: this.$route.query.appid, url: url, } //调用后端接口获取公众号参数 const resp a…

湖州市自闭症寄宿学校:个性化关爱让每个孩子都能茁壮成长

在探索自闭症儿童教育的广阔领域中&#xff0c;湖州市的自闭症寄宿学校以其个性化的教育模式&#xff0c;为众多家庭点亮了希望之光。然而&#xff0c;当我们把视线转向中国南方的一座现代化大都市——广州&#xff0c;会发现另一所同样在自闭症儿童教育领域深耕细作、成果斐然…

推荐一个可以把PDF样本册转换为翻页电子书的网站

​随着互联网的普及&#xff0c;越来越多的企业和个人开始意识到线上展览的重要性。如何将实体样本册转化为线上版本&#xff0c;让更多人了解和欣赏自己的产品与服务&#xff1f; 一、网站简介 这款PDF样本册免费上传网站名为“FLBOOK”&#xff0c;致力于为广大用户提供便捷…

非关键尺寸的失效模式和效应分析(FMEA)是否有必要进行?

在追求极致的过程中&#xff0c;一个看似不起眼的细节——非关键尺寸的失效模式和效应分析&#xff08;FMEA&#xff09;&#xff0c;却常常被忽视或低估其重要性。本文&#xff0c;深圳天行健企业管理咨询公司旨在分享为何在非关键领域&#xff0c;FMEA同样不可或缺&#xff0…

redis面试-2024

1、Redis的基本数据结构类型 string、list、set、hash、zet。还有三种特殊类型&#xff1a;Geospatial、Hyperloglog、bitMap。 2、各数据类型对应的场景 3、redis快的原因 *基于内存 内存读写效率远高于磁盘读写&#xff0c;省去磁盘IO操作 *存储形式 Redis作为K-V键值对…

Oracle 日志文件多路复用

多路复用 PRODCDB 数据库的所有日志组中的 redo log 文件&#xff0c;存放目录&#xff1a; /u01/app/oracle/oradata/MREDO 1.创建目录 mkdir -p /u01/app/oracle/oradata/MREDO 2.查看日志文件路径 select group#,member from v$logfile; 3.增加日志组文件 alter database a…

828华为云征文|华为云Flexus X实例初体验

一直想有自己的一款的服务器&#xff0c;为了更好的进行家庭娱乐&#xff0c;甚至偶尔可以满足个人搭建开发环境的需求&#xff0c;直到接触到了华为云 Flexus X 云服务器。 Flexus 云服务器 X 实例是面向中小企业和开发者打造的轻量级云服务器。提供快速应用部署和简易的管理…

【论文阅读】MEDICAL GRAPH RAG: TOWARDS SAFE MEDICAL LARGE LANGUAGE MODEL VIA

论文地址&#xff1a;https://arxiv.org/abs/2408.04187#:~:textWe%20introduce%20a%20novel%20graph-based%20Retrieval-Augmented 代码地址&#xff1a; GitHub - MedicineToken/Medical-Graph-RAG: Medical Graph RAG: Graph RAG for the Medical Data 1 研究背景&#xff1…

英伟达GPU和互联路线发展分析

英伟达最新GPU和互联路线图 Nvidia在计算、网络和图形领域独树一帜&#xff0c;雄厚资金助力其在生成式AI市场领跑&#xff0c;可自由探索创新路线图。 21世纪&#xff0c;Nvidia虽无需拓展数据中心计算&#xff0c;却因HPC研究人员引领进入加速计算。AI研究人员借助GPU计算开…