Skip to content

Latest commit

 

History

History
293 lines (147 loc) · 14.2 KB

creating-good-meaningful-plots-principles.md

File metadata and controls

293 lines (147 loc) · 14.2 KB

创建好的有意义的图表:一些原则

原文:www.kdnuggets.com/2021/01/creating-good-meaningful-plots-principles.html

评论

作者:Vikrant Dogra,数据科学、分析和洞察专家

图

照片由 Luke Porter 提供,来自 Unsplash

图(或图表)是从数据中传达信息的本质方式,但好的图表很少见。我认为主要原因是创建图表时采用了被动的方法。但是,如果积极创建,运用数据调查和询问的原则,可以制作出合理且有意义的图表。

本文涵盖了一些创建有意义图表的原则。此外,它让你通过两个自定义的 web 应用程序亲身体验学习,这些应用程序允许你探索/设置各种选项,以创建信息丰富的散点图。

图表的组成部分

图通常包括主图区域(显示图表的地方)、坐标轴(例如 x 轴、y 轴)、坐标轴的描述,包括用于解释数据的标记/标签(例如刻度、刻度标签)以及在需要时,用于区分子组的图例。

图

图像来源于作者

好图表的特征

好图表应具有意义、自解释且易于记忆。因此,理想的方法应在某种程度上尝试模仿我们在脑海中思考、记忆和关联信息的方式。

以下是制作良好有意义图表的一些建议:

在所有情况下都不要创建图表

  • 有时,简单的数据表可能比图表更有效。

根据输入数据使用正确的图表

  • 通过一点积极思考,可以做到这一点。例如,许多人仍然混淆直方图和条形图。

  • 由于可以用多种方式绘制任何给定的数据——尝试使用最佳图表,这有助于从数据中传达重要含义。

使图表易于阅读

  • 关注重要的内容。降低其余内容的重点。

  • 通常,工具提供的默认设置用于可视化/展示/业务智能并不理想。因此,你应该改进这些默认设置。

  • 在需要时描述数据,以便你的图表可以在没有他人帮助的情况下被读取。

识别并使用相关的锚点/截断线

  • 为了帮助人们快速理解图表中的信息——添加锚点或截断线,例如条形图中的均值(平均值)线。

突出偏离预期的情况、极端值/项目

  • 通常,偏差是图表中感兴趣的内容——无论是平均值还是某些截断线,例如前 10% 或后 10%。

识别相似性

  • 在某些情况下,兴趣可能在于理解相似性,例如两种分布之间的相似性。

有关详细建议,请阅读本文的:“共同点:改进图表的关注领域”部分。

不要仅仅绘制图表:在绘制时思考。

在这里,我涵盖了一些常见的图表类型,并解释了可能的改进方法:

条形图(用于分类变量)

图形

作者提供的图片

  • 不要仅依赖工具提示(即,将鼠标悬停在图表对象上以查看数据)来显示主要数据。例如,如果你通过条形图显示 4 个类别,那么你将需要使用工具提示 4 次来读取条形图的高度;对于 10 个类别,你将需要使用工具提示 10 次,……

  • 在条形上显示数据(百分比或实际值,视情况而定)——这有助于任何人轻松比较这些数字,并在需要时进行一些简单的心理计算,例如比例、差异等。

  • 如果表示的是百分比,说明这些百分比是否加起来为 100。这通常发生在类别相互独立或(在调查中)响应为单选时。

直方图(用于连续变量)

图形

作者提供的图片

  • 正确设置箱体(或类别间隔):箱体数量、箱体宽度。

  • 如果可能,显示所有箱体的数据(频率或百分比)。如果不行,则仅显示重要的数据点,并补充数据的摘要,例如均值/中位数/众数。

密度/分布图

图形

作者提供的图片

  • 你必须展示一些超出曲线的东西,因为曲线仅给出数据的形状。

  • 添加分布的摘要是一个好主意,例如均值/中位数/众数、集中度(例如,适当时——中间 67%、80%、95%)、统计测试结果指示的分布类型。

词云

图形

作者提供的图片

  • 这些图表视觉上很吸引人,但很难内化,因为除了前 2-3 个项目之外,无法对其进行排名,而且这些项目在词云中也是随机放置的。此外,仅凭词频的比例,无法在词云中比较两个词。

  • 因此,设计一种方法来展示用于创建词云的数据(频率、百分比)——可以作为图中单词上的下标/上标,或作为附加的(已排序)频率表。

饼图

图形

作者提供的图片

  • 如果类别超过三个,使用条形图而不是饼图。

  • 饼图的问题在数据科学社区已经很明确,但大多数商业界人士仍然喜欢饼图(及甜甜圈图)。这可能是因为饼图总是加起来 100%,而条形图可能不会。对于适合饼图的数据,我怀疑许多条形图的支持者(相对于饼图)忘记提到他们的条形图的列加起来是 100%。

箱线图

图示

作者提供的图片

  • 这些图非常适合理解数据的分布,并记住关键数字——前提是数字被显示。因此,显示重要值,即中位数、下/上四分位数、下/上须

  • 此外,调查可能的异常值(超出须的数据显示点)是否存在模式

时间序列图

图示

作者提供的图片

  • 这些图自然会重复出现模式。因此,对于跨越多年的每月数据——可以按月份(x 轴)显示堆积(按年)的版本。这应该有助于读者注意到趋势和季节性。

  • 如果存在周期,你可以通过显示一条跨越年份 x 月份的单线图来展示

散点图

图示

作者提供的图片

在散点图中有许多数据点——核心意图是识别点中的模式。因此可以做很多事情,例如

  • 拟合模型并附上置信区间。如果需要,请提及模型规范

  • 帮助最终用户轻松读取数据点:独立为 X 和 Y 变量使用锚点/截断点,例如均值、中位数、四分位数、极值(例如底部/顶部 10%)。在显示这些线时,也尽量提及数值

  • 突出显示感兴趣的数据点,例如为点着色,显示数据标签

  • 甚至可以显示边际图,例如 x 变量和 y 变量下方的箱线图或直方图

共同点:改善图表的重点区域

在这里,我涵盖了图表的核心组件,并尝试提供通用建议,说明如何以及何时使用这些组件以实现有效绘图:

轴:轴标题

  • 使用方法:使用合理的标题——这意味着你通常需要改进默认的变量名称;标题必须易于理解,例如[模糊]距离与[清晰]距离(以英里为单位)

  • 文本字体大小:使用易于阅读的字体大小,因为轴描述设置了阅读图表的背景

轴:刻度

  • 是否需要:在数据为数值型时使用;否则避免使用。

  • 文本字体大小:比轴标题字体小,因为这些重要性较低。你也可以通过使用灰色来减少这些文本的强调。

  • 间隔:设置良好的刻度间隔是至关重要的。过度使用会使这些刻度无法读取图表。然而,适当的刻度数量可以帮助创建矩形块的心理图,以更快、更好地读取数据

轴:y 轴

  • 是否需要:有时你可以去掉 y 轴线本身(包括标题和刻度)。例如,条形图(对于分类变量),如果你在条形上方显示数据标签,则不需要 y 轴线/标题/刻度。

图例

  • 使用时机:仅在你想在图形中表示子组且无法通过图例区分时使用。

  • 是否需要:这可能会使注意力从主要图形上分散。因此仅在必要时使用。

主要图形

主要图形:数据标签

  • 使用时机:尽可能展示数据。例如,对于条形图;对于散点图,理想情况下仅显示极端值,例如底部 5%和顶部 5%。

主要图形:工具提示

  • 如何不使用:避免仅使用工具提示来显示数据点的值。

  • 如何使用:相反,使用工具提示有意义地增强关于数据点的信息

主要图形:颜色编码数据点

  • 如何使用:使用不同的颜色突出显示重要/有趣的数据点

主要图形:注释

  • 使用时机:通过注释添加更多层的信息。

增强

增强:参考/锚点

  • 如何使用:显示表示例如均值、中位数、四分位数、极端 5%(低端和高端)、中间 80%等的锚点线

增强:突出显示差距

  • 如何使用:也突出显示差距。例如,条形图中的两个柱子之间

增强:模型

  • 使用时机:拟合模型(例如,在散点图中)以帮助理解变量之间的关系。还可以更好地解释数据点,即模型线的偏离。

增强:汇总数据

  • 如何使用:大多数图形并不是设计用来统计汇总数据的——因此在主要图形下添加关键汇总统计数据将有助于丰富图形

DIY:创建自己的散点图

内化某物的最佳方式是通过实验,从这些实验中学习,通过尝试各种选项/组合并查看哪种方式对你最有效。

为了获得实践经验,我从头开始创建了两个几乎相同的散点图——一个使用 R,另一个使用 Python。我这样做是为了最小化关于 R 与 Python 的争论,并帮助你专注于实验核心概念,制作良好的有意义的图形。

为什么选择散点图?:它们是最具挑战性的图形之一,因为数据点很多——每个都单独表示。因此,制作有意义的散点图需要做很多工作。

关于这些绘图应用程序的一点说明:

散点图(使用 R):使用应用程序

基础图形使用Rggplot2可视化库创建。该图形随后被转换为网络应用程序,使用R shiny并托管在shinyapps.io*

图像

散点图- R 应用(作者提供的图片)

散点图(使用 Python):使用应用程序

基础图表使用pythonplotly可视化库创建(为了生成本地回归模型,我使用了scikit-misc 库)。然后,使用streamlit.io将此图表转换为 Web 应用程序,并托管在heroku上。

图像

散点图- Python 应用(作者提供的图片)

这两个图表具有反应性特征——你对规格的任何更改都会(几乎瞬间)反映在更新后的图表中。因此,上传你喜欢的测试数据集或使用默认数据集,释放你内心的孩子——尝试各种图表规格——本文中建议的以及其他的。然而,在探索结束时,制定出你自己创建有意义图表的规则。你可以随时修订/完善你的方法。

总结

本文探讨了创建良好图表的原则,但未涉及图表/表格之间的关系——通常在演示或仪表板中展示的内容。然而,我坚信,如果你掌握了创建良好图表的技巧,你可以轻松将这些经验转移到创建更好的仪表板中。

本文涵盖的原则旨在激发你积极思考如何创建有意义的图表。希望你以开放的心态阅读本文,尝试在提供的应用程序中进行各种设置实验,并努力融入你(绘图)的真正方向所接受的可能为你的图表创作方法增值的技巧。

简历:Vikrant Dogra 是一位数据科学、分析和洞察专家。

原文。已获授权转载。

相关内容:

  • 数据科学、数据可视化与机器学习的顶级 Python 库

  • 14 个数据科学项目来提升你的技能

  • TabPy: 结合 Python 与 Tableau


我们的前三个课程推荐

1. 谷歌网络安全证书 - 快速进入网络安全职业生涯。

2. 谷歌数据分析专业证书 - 提升你的数据分析水平

3. Google IT 支持专业证书 - 支持您组织的 IT


相关话题