热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

嵌套饼图_旭日图的效率,高到饼图都羡慕|图表家族#21

在展示占比情况时,饼图是我们最常用的选择。但是,饼图只能展示单层数据的占比情况,在面对多层级数据时,我们真的要用10个饼图进

在展示占比情况时,饼图是我们最常用的选择。但是,饼图只能展示单层数据的占比情况,在面对多层级数据时,我们真的要用10个饼图进行可视化吗?不用挠头苦思,今天我们就来看看多个饼图的组合升级版——旭日图是怎么进行数据可视化的。

集万千饼图于一身

6c42c6e0307ca775eca16f10c3f93847.png
日晕 来源:微博用户@大声点叫我男神

你们有看到围绕着太阳的那一圈彩色光环吗?这是日晕(Solar Halo),又叫圆虹,是日光通过卷层云时,由冰晶折射或反射形成的。旭日图的样子与这种天文气象长得很像,但圆环日晕通常只有一层,而旭日图的“日晕”则可以根据数据的层次关系数量层层叠加上去。

84979b68da03eb2a04f23af93279a8f1.png
旭日图 来源:The Data Visualisation Catalogue
来源:The Data Visualisation Catalogue

旭日图(Sunburst Chart)是饼图的变形,简单来说是多个饼图的组合升级版。饼图只能展示一层数据的占比情况,而旭日图不仅可以展示数据的占比情况,还能厘清多级数据之间的关系。

在旭日图中,一个圆环代表一个层级的分类数据,一个环块所代表的数值可以体现该数据在同层级数据中的占比。一般情况下,内层数据是相邻的外层数据的父类别,最内层圆环的分类级别最高,越往外,分类越细越具体。

一层一层剥开TA的心

旭日图中的“环”承载了大量带有层级关系的数据,层层嵌套,环环相扣,我们乍一看似乎很难读懂它的心。但其实只要我们多点耐心,就能发现旭日图在可视化这类数据时,真的有化繁为简的魔力。

最基础的旭日图是在树状图的基础上,把树状的层级关系转化为圆环的形式。相较于树状图,旭日图的圆形结构更节约空间。例如,美国专业咖啡协会用旭日图,清晰地描述了咖啡的味道。

e27b1863700beccd0e9eb9a52495697e.png
咖啡风味旭日图 来源:www.jasondavies.com

协会按照咖啡的“香”与“味”对咖啡的味道进行了分类,其中,味道被分为酸、甜、咸、苦,苦味又可以分为单纯的苦味和带辛辣的苦味,带辛辣的苦味又可以再分类……这种分类数据没有数值,因此在旭日图上,同一层的各环块弧长都是相等的,且不代表任何的数值。

在增加了交互功能之后,旭日图每一层的数据关系能更加清楚地展现出来。

dd161146a112e3a477d2a32739d85238.gif
交互的咖啡风味旭日图 来源:www.jasondavies.com

点击“香”的环块,环块就能延展到100%,同时代表“味”的环块会被收缩隐藏。这种交互不仅能把外层的、环块小的分类清晰地展现出来,而且可以很好地解决我们经常提到的“分类数据过多会使图表的易读性下降”的问题。

当每个分类数据都拥有具体数值时,我们可以通过环块的角度比较数值的大小。下图是全球十大温室气体排放国家的温室气体排放情况。它运用了与“咖啡风味旭日图”相同的交互方式,通过点击“中国”的环块,我们能在全局视角下看到中国在“能量”领域排放的温室气体最多,占到全球温室气体排放的19.98%。

d460976c663aa7b0bcc5a40ce7932cf0.gif
全球十大温室气体排放国家 (来源:World Resources Institute)

当每个环块都表示具体数值时,旭日图的交互功能就显得异常重要。大量数据如果不通过交互方式展示出来,而是直接标记在图表上,就会像下图一样,让图表显得凌乱,数据也很难看清。

fd7dfe6fdd08f9e7278c5fd328ad9034.png
凌乱的旭日图 (来源:www. stackoverflow.com)

除了“咖啡风味”和“全球温室气体”所用到的,通过点击拓展的交互方式之外,常见的还有通过鼠标悬浮凸显环块颜色的交互。下图是圣裘德儿童研究医院基于3347位患癌儿童的患病情况,分析了他们所患的17种癌症情况。

eba58612d39d5b0ea19aca608bb36c32.gif
3347位患癌儿童情况 (来源:Pediatric Cancer Data Portal,St. Jude Children's Research Hospital)

这17种癌症位于旭日图的第二层,分别属于造血系统恶性肿瘤(红色)、固体肿瘤(黄色)和脑肿瘤(蓝色)三种癌症类型,其中患造血系统恶性肿瘤的比重最大,有46.2%。第三层则为引起癌症的不同原因占比情况。

当鼠标移动到环块上时,被查看的环块颜色会被突出,其他则变成统一的灰色。同时,利用旭日图的“空心”,可以清晰地展示每个分类数据的具体数值和含义。在交互功能的加持下,旭日图可以更加顺畅和清晰地展示大量数据。

展示层级数据的好伙伴

旭日图虽然是一个多级饼图,但在展示层级关系这一点上,与矩形树图非常相似。

不同于矩形树图,旭日图能把没有权重关系的层级关系清晰地展示出来,且可容纳的层级关系更多。除此之外,旭日图允许“缺口”存在。不同分类数据下,每一层的数据可以不用再细分,即旭日图的每个圆环不一定是完整的。可以说,在可视化层级数据方面,旭日图和矩形树图都表现优秀,而旭日图的适用范围要比矩形树图略大。

肩负可视化大量层级数据重任的旭日图,其实用起来也很简单。镝数刚上线的“旭日图”不仅复制粘贴数据就能用,而且还有交互buff加持,就连配色方案我们也为你准备好了。有了它,你再也不用担心数据太多,看不清占比关系啦!点击“阅读原文”,领走这个会跟你亲密互动的小伙伴,让你的海量数据变得灵动起来!

84a8ea2629de5a4af01be5c1158b55d4.gif

好了,今天的分享就到这里。登陆镝数--数据查找与可视化平台,无需编程,即可轻松试用这个炫酷的交互效果!

赶快来镝数试试吧!

如果还想知道图表的相关知识,可参看往期图表家族:

小镝同学:董明珠每天打扮不超过五分钟,你的五分钟能做些什么?​zhuanlan.zhihu.com
3616785c31e8baa51a8b769d9d8ca5eb.png
小镝同学:高考特刊:面对“可视化图表考题”,我们镝数给出了这样的答卷​zhuanlan.zhihu.com
00b434cb016c281b369f195191adf91b.png
小镝同学:柱状图用腻了?玉玦图给你更美的数据呈现|图表家族#25​zhuanlan.zhihu.com
小镝同学:浮生一日:美国人的一天和你的有什么不同?​zhuanlan.zhihu.com
0c92b9a7ba37deb0ad492239430ada76.png

我们下期见!



推荐阅读
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • 实现一个通讯录系统,可添加、删除、修改、查找、显示、清空、排序通讯录信息
    本文介绍了如何实现一个通讯录系统,该系统可以实现添加、删除、修改、查找、显示、清空、排序通讯录信息的功能。通过定义结构体LINK和PEOPLE来存储通讯录信息,使用相关函数来实现各项功能。详细介绍了每个功能的实现方法。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
author-avatar
小强
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有