科研绘图你值得注意的14个点 (2)

简介: 科研绘图你值得注意的14个点 (2)

8. 未尝试多种布局的情况下绘制网络图

网络图在科学出版物中十分常见,它们在呈现关系数据时极为有用。然而,网络图的外观(非拓扑结构)对于判断网络图是否有效有着极大的影响。

布局可以极大地改变网络的外观,使它们更容易或更难解释。这是来自相同数据的 3 个网络图。他们看起来彼此非常不同。

9. 混淆基于位置的图表与基于长度的图表

这常常是讨论中被忽视的重要问题,也是许多误导性图表的核心问题。例如,我在三个时间点上测量了一个响应变量。在接下来的三个图表中,有两个是可以接受的,但有一个却犯了数据可视化的大忌。你能发现问题所在吗?

在点状图和线形图中,数据值是通过在x轴和y轴上的位置来表示的。这种表示方法同样适用于其他基于位置的图表,比如箱形图。而在条形图中,数据值是通过条形与x轴的距离,也就是条形的长度来表示的。

第三个图表没有以0为基线,这导致在第二个时间点的条形长度大约是第一个时间点的三倍。实际上,两者之间的真实均值差异接近1.6倍。我希望你能明白,将基于长度和基于位置的图表混为一谈,可能会导致图表产生误导。

10. 绘制饼状图

饼状图是展示部分数据的常用可视化方法,各部分的总和为100%。这通过将圆分成若干扇区实现,所有扇区加起来构成一个完整的圆。然而,饼状图因人类在识别角度和面积上的能力远不如识别长度而受到批评。

以这个例子来说,我们有两个大类,每个大类下有4个子类。在传统的饼状图中,角度(以及相应的弧长和扇区面积)用来表示数据。但这样做的问题在于,不同大类之间的数据比较变得非常困难。我们可以将饼状图简化为环状图,此时数据通过弧长来表示。但如果我们想用长度来展示数据,为什么不直接将环状图展开,制作成堆叠条形图呢?在堆叠条形图中,条形并排展示,这样跨组比较就变得容易多了。

11. 绘制同心圆环图

在这个案例中,我们有三个大类,每个大类下又分为两个小类(类型 I 或类型 II)。

在同心圆环图中,人们可能会误以为数据是通过弧长来表示的,但实际上这种理解是错误的。外圈的弧长远远超过内圈。第二组和第三组的数据值完全相同,但第三组的弧长却长得多。实际上,数据是通过弧角来表示的,而我们人类并不擅长解读弧角。

外圈的弧长较长,这使得不同组分配到不同圈的顺序对图表的感知产生了重大影响。这可能导致一个明显的矛盾现象,即数值较大的数据反而对应较短的弧。一个更好(也更简单!)的选择是直接展开圆环图,制作一个传统的堆叠条形图。顺便提一下,这也是我对 Circos 图和其他圆形图表布局的主要顾虑。

12. 使用红/绿色和彩虹色系

Deuteranomaly 是最常见的红绿色觉异常类型,大约每16名男性中有1名,每256名女性中有1名会受到影响。任何同时使用红色和绿色渐变的色带对于红绿色觉异常的人来说都是难以区分的(如图中的第三列所示)。此外,红/绿色和彩虹色系在黑白打印时(即灰度打印,如图中的第二列)几乎无法保留有效信息。许多科学软件仍旧默认使用红/绿色或彩虹色系,这让我感到非常困扰。更“先进”的色系,比如 viridis,不仅对色觉异常者友好,而且在灰度打印下也能保持信息的完整性(如图中的第三行所示)。而且,它们的外观也很吸引人。

13. 忽视堆叠条形图的重新排序

堆叠条形图在展示比例数据时非常有用,常用于展示社区结构、人口结构或混合分析等。这种视觉展示方式涉及到一系列样本,每个样本都包含多个类别的成员。但是,当样本和类别数量众多时,为了有效传达信息,堆叠条形图需要进行优化,这里的“优化”指的是对样本进行合理分组和排序。

这里有一个包含100个样本和8个成员类别的数据示例。由于样本和类别众多,如果不对条形图的顺序进行优化,很难从图表中看出任何信息。我在看什么?优化条形图的顺序后,哇,这真的让图表变得清晰多了,不是吗?

14. 混淆堆叠条形图和均值分离图

有时候,一个图表如果试图同时展示太多信息,反而会变得混乱且效果不佳。一个典型的例子是将堆叠条形图和均值分离图混为一谈。一种图表展示的是总和为100%的比例数据,另一种则展示均值的差异和围绕均值的分布情况。这在数据可视化中是两个截然不同的任务。

在这个假设的实验中,我们有两组蓝莓植物。一组作为对照组,另一组则用化学物质处理以加速果实成熟。 每组有5株植物。处理的效果被分为三个类别:浅绿色果实、浅蓝色果实和深蓝色果实。每株植物检查了100个果实,并统计了每个类别中果实的数量。计算并报告了每个类别中果实的百分比。研究的问题是:化学处理是否有效?

第一个堆叠条形图作为展示比例数据的标准方式是可以接受的。很明显,所有类别加起来为100%,化学处理明显将颜色分布推向了最成熟的阶段(深蓝色)。

中间的堆叠条形图存在问题,主要是因为它试图同时完成两个不同的数据可视化任务。当误差条和点被叠加到堆叠条上时,就不清楚哪些误差条和点正在被比较。由于堆叠条的特性,上层条的误差条和点需要向上移动,这使得对误差条和点的y轴的解释变得不直观。

最后,如果可视化的主要目的是展示均值的分离和围绕均值的分布,那么第三个图表是更好的选择。这个图表清晰地展示了正在比较的内容。正如第一个堆叠条形图所示,化学处理显著增加了深蓝色果实的比例,减少了较浅颜色果实的比例。

相关文章
|
10月前
|
Java Linux API
IO模型
BIO、NIO、AIO是Java中处理网络I/O的三种模型。BIO为阻塞式,每个连接需单独线程,高并发下性能受限;NIO通过非阻塞与多路复用提升并发能力,少量线程可处理大量请求;AIO进一步实现异步非阻塞,数据复制时线程可释放,由回调机制处理后续操作。三者适用于不同场景,BIO易用但低效,NIO高效但复杂,AIO理论性能更优但目前在Linux上仍依赖多路复用实现。Java 21引入虚拟线程后,BIO也可兼具高性能与易编写特性。
282 2
|
人工智能 NoSQL Redis
Collaborative Gym:斯坦福人机协作框架开源!异步交互+三方感知,让你的AI学会主动补位
介绍Collaborative Gym,一个专注于人机协作的框架,支持异步交互和多种任务环境。
585 14
Collaborative Gym:斯坦福人机协作框架开源!异步交互+三方感知,让你的AI学会主动补位
|
9月前
|
人工智能 数据可视化 前端开发
一文读懂 AI Agent 的企业级落地逻辑丨科普扫盲
在数字化转型浪潮下,AI Agent正成为企业提效赋能的重要工具。本文深入剖析AI Agent在企业落地的现状、挑战与关键要素,探讨技术架构选择、性能平衡、场景应用及生态建设等核心问题,助力企业把握AI智能体发展趋势,实现价值创造与风险可控的协同发展。
974 0
|
JSON 安全 Java
Spring Security 6.x 微信公众平台OAuth2授权实战
上一篇介绍了OAuth2协议的基本原理,以及Spring Security框架中自带的OAuth2客户端GitHub的实现细节,本篇以微信公众号网页授权登录为目的,介绍如何在原框架基础上定制开发OAuth2客户端。
1202 4
Spring Security 6.x 微信公众平台OAuth2授权实战
|
人工智能 NoSQL Redis
如何将分布式锁性能提升100倍【含面试题】
如何将分布式锁性能提升100倍
846 0
|
传感器 Java API
基于JAVA的智能家居控制系统设计与实现
基于JAVA的智能家居控制系统设计与实现
838 0
|
文字识别 Java Python
文本,文识10,springBoot提供RestTemplate以调用Flask OCR接口,调用flask实现ocr接口,用paddleocr进行图片识别云服务技术,单个paddleocr接口有影响
文本,文识10,springBoot提供RestTemplate以调用Flask OCR接口,调用flask实现ocr接口,用paddleocr进行图片识别云服务技术,单个paddleocr接口有影响
|
算法
干货 | 10分钟教你用branch and bound(分支定界)算法求解TSP旅行商问题
干货 | 10分钟教你用branch and bound(分支定界)算法求解TSP旅行商问题
1394 0
干货 | 10分钟教你用branch and bound(分支定界)算法求解TSP旅行商问题
|
jenkins 持续交付 数据安全/隐私保护
【Docker】安装Jenkins 亲测 傻瓜式安装
【Docker】安装Jenkins 亲测 傻瓜式安装
728 0
|
存储 数据采集
【蓝桥杯嵌入式】蓝桥杯嵌入式第十四届省赛程序真题,真题分析与代码讲解
【蓝桥杯嵌入式】蓝桥杯嵌入式第十四届省赛程序真题,真题分析与代码讲解
3271 1

热门文章

最新文章