《数据可视化的基础知识.docx》由会员分享,可在线阅读,更多相关《数据可视化的基础知识.docx(249页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Table of Contents249数据可视化的基础知识欢迎前言1 简介2 可视化数据:将数据映射到美学上3 坐标系和轴4 颜色刻度5 可视化的目录6 可视化数量7 可视化分布:直方图和密度图8 可视化分布:经验累积分布函数和 q-q 图9 一次可视化多个分布10 可视化比例11 可视化嵌套比例12 可视化两个或多个定量变量之间的关联13 可视化自变量的时间序列和其他函数14 可视化趋势15 可视化地理空间数据16 可视化不确定性17 比例墨水原理18 处理重叠点19 颜色使用的常见缺陷20 冗余编码21 多面板图形22 标题,说明和表格23 平衡数据和上下文24 使用较大的轴标签25 避
2、免线条图26 不要走向 3D27 了解最常用的图像文件格式28 选择合适的可视化软件29 讲述一个故事并提出一个观点30 带注解的参考书目技术注解参考1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 201 211 221 231 241 251 261 271 281 291 301 311 321 331 341 35数据可视化的基础知识原文:Fundamentals of Data Visualization校验:飞龙协议:CC BY-NC-SA 4 0欢迎任何人参与和完善:一个人可以走的很快,但是一
3、群人却可以走的更远。在线阅读ApacheCN 面试求职交流群 724187166 ApacheCN 学习资源编译npm install -g gitbook-cli gitbook fetch 3.2.3git clone cd found-data-vis-zhgitbook 联系方式在我们的 apachecn/found-data-vis-zh github 上提 issue 发邮件到 Email: apachecn 在我们的 组织学习交流群 中联系群主/管理员即可 赞助我们欢迎原文: Welcome校验:飞龙自豪地采用谷歌翻译本书旨在作为制作可视化,准确反映数据,讲述故事和看起来很专业的
4、指南。它源于我和实验室中的学生和博士后在数千个数据可视化上的合作经验。多年来,我注意到同样的问题一再出现。我试图以本书的形式从这些互动中收集我积累的知识。整本书都是用 R Markdown 编写的,使用 RStudio 作为我的文本编辑器,以及bookdown 包来将一系列 Markdown 文档转换为连贯的整体。该书的源代码托管在 GitHub 上, clauswilke/dataviz。如果您发现拼写错误或其他问题,请随时在GitHub 上新建 ssue 或提交拉取请求。如果您执行后者,请在提交消息中添加“ assign the copyright of this contribution
5、 to Claus 0 Wilke”(我将此贡献的版权赋予 Claus 0 Wilke),以便我可以保留以其他形式发布本书的选项。中文版采用 CC BY-NC-SA 4 0 许可协议授权,原书采用 CC BY-NC-ND 4 0 许可协议授权。前言原文:Preface 校验:飞龙自豪地采用谷歌翻译如果您是科学家,分析师,顾问或任何其他必须制作技术文档或报告的人,您需要掌握的最重要技能之一就是,以图形形式进行引人注目的数据可视化的能力。图形通常为你的论据带来权重。他们清晰,有吸引力,令人信服。好的和坏的图形之间的差异可能是高影响力或模糊不清的论文,补助或合同的得到或失去,工作面试的好与坏之间的差
6、异。然而,令人惊讶的是,很少有资源可以教您如何制作引人注目的数据可视化。很少有大学提供有关这一主题的课程,也没有很多关于这个主题的书籍。 (当然有些存在。)绘制软件的教程通常关注如何实现特定的视觉效果,而不是解释为什么某些选择是首选而其他选择不是。在您的日常工作中,您只需要知道如何做出好的数据,如果您很幸运,您有一位耐心的顾问会在您撰写第一篇科学论文时教您一些技巧。在写作的背景下,经验丰富的编辑谈论“耳朵”,听到(在内部,当你阅读一篇散文时)写作是否良好的能力。我认为,在图形和其他可视化方面,我们同样需要“眼睛”,看到一个图形,看看它是否平衡,清晰,引人注目的能力。就像写作的情况一样,可以学习
7、查看图形是否有效的能力。拥有眼睛主要是指,您了解更多简单规则和良好可视化原则,并注意其他人可能没有的细节。根据我的经验,同样像写作一样,你不会在周末读书时开发眼睛。这是一个终身的过程,今天对你来说过于复杂或过于微妙的概念,可能会在五年后变得更有意义。我可以对自己说,我继续开发我对图形的理解。我经常尝试让自己接触新的方法, 并且我注意他人在他们的图形中做出的视觉和设计选择。我也愿意改变主意。我今天可能会认为一个特定的图形很棒,但下个月我可能会找到批评它的理由。所以考虑到这一点,请不要把我说的任何东西当作福音。仔细思考我对某些选择的理由, 并决定是否要采用它们。虽然本书中的材料是按逻辑展示的,但大
8、多数章节都可以独立存在,而且无需阅读书籍封面。您可以随意浏览,选择您当前感兴趣的特定部分,或者涵盖您正在考虑的特定设计选择的部分。事实上,如果你不是一次性阅读本书,而是在更长的时间内逐渐阅读它,尝试在你的图形制作中应用书中的一些概念,并回过头来阅读其他概念或重新阅读您在一段时间后学到的概念,我认为你会从这本书中获得最大的收益。如果您在几个月的时间过后重新阅读它,您可能会发现同一章告诉您不同的事情。尽管本书中的几乎所有图形都是用 R 和 ggplot2 制作的,但我并不认为这是 R 的书。我在谈论图形制作的一般原则。用于制作图形的软件是随意的。你可以使用任何你想要的绘图软件,来生成我在这里展示的
9、各种图形。但是,ggplot2 和类似的软件包使我使用的许多技巧比其他绘图库简单得多。重要的是,因为这不是 R 的书,所以我不会在本书的任何地方讨论代码或编程技巧。我希望你专注于概念和图形,而不是代码。如果您对如何制作任何数据感到好奇,可以在 GitHub 存储库中查看该书的源代码。关于绘图软件和图形制作流程图的思考我有超过二十年的为科学出版物制作图形的经验,并已只做了成千上万的图形。如果在这二十年中有一个常数,那就是图形制作流水线的变化。每隔几年,就会开发一个新的绘图库或者出现一个新的范例,大量的科学家们转而使用热门的新工具 包。我使用 gnuplot,Xfig,Mathematica,Ma
10、tlab,python 中的 matplotlib,R 中的 R 基本库,ggplot2,以及我目前无法记住的其他东西。我目前首选的方法是 R 中的 ggplot2,但我不希望在退休之前我会继续使用它。软件平台的这种不断变化,是本书不是编程手册,以及为什么我遗漏了所有代码示例的主要原因之一。无论你使用哪种软件,我都希望这本书对你有用,而且即使每个人都从 ggplot2 转移并使用下一个新东西,我希望它仍然有价值。我意识到这个选择对于一些 ggplot2 用户来说可能会令人沮丧,他们想知道我如何制作给定图形。我告诉他们,阅读这本书的源代码,它是可用的。此外,将来我可能会发布一个仅关注代码的补充文
11、档。多年来我学到的一件事是,自动化是你的朋友。我认为作为数据分析流水线的一部分,图形应该自动生成(也应该是自动化的),它们应该从流水线中出来,准备好发送到打印机,不需要手动后处理。我看到很多学员自动生成他们的图形的粗略草稿,然后他们导入到 llustrator 中进行修饰。这是坏主意并有几个原因。首先,在您手动编辑图形的那一刻,您的最终图形变得不可再现。第三方无法生成和您所做的完全相同的图形。虽然这可能并不重要,如果您所做的只是更改轴标签的字体, 使线条模糊,并且很容易跨越到不太清晰的区域。举个例子,假设你想用更可读的标签手动替换谜之标签。第三方可能无法验证标签更换是否合适。其次,如果您在图形
12、制作流水线中添加了大量手动后处理,那么您将更不愿意进行任何更改或重做您的工作。因此,您可能会忽略协作者或同事做出的合理的更改请求,或者即使您实际重新生成了所有数据,也可能会重复使用旧图形。这些都不是假设的例子。我在实际场景中看到过他们。第三,你自己可能会忘记,你为准备一个给定的图形做了什么,或者你可能无法生成一个新数据的未来图形,与你之前的图形在视觉上完全匹配。由于上述所有原因,交互式绘图程序是一个坏主意。它们固有地迫使您手动制作您的图形。实际上,最好自动生成一个图形草稿并在 llustrator 中修饰它,而不是在一些交互式绘图程序中手工制作整个图形。请注意,Excel 也是一个交互式绘图程
13、序,不建议用于图形制作(或数据分析)。数据可视化图书中的一个关键成分,是所提出的可视化的可行性。很高兴能够发明一些优雅的可视化新方法,但是如果没有人能够使用这种可视化轻松生成数据,那么就没有多大用处。例如,当 Tufte 首次提出迷你图时,没有人能够轻松制作它们。虽然我们需要有远见的人通过可能的方式来推动世界的发展,但我认为这本书是切实可行的,并直接适用于为其出版物制作图形的职业数据科学家。因此,我在后续章节中提出的可视化,可以通过几行 R 代码,通过 和随时可用的扩展包生成。事实上,本书中的几乎每一个图形,除了第 26,27 和 28 章中的一些图形外,都是完全自动生成的。致谢如果没有 RS
14、tudio 团队将 R Universe 变成一流的出版平台所做的出色工作,这个项目是不可能实现的。特别是,我要感谢 Hadley Wickham 创建 ggplot2,这是用于制作本书所有数据的绘图软件。我还要感谢 Yihui Xie 创建 R Markdown 以及编写 knitr 和 bookdown 软件包。如果这些工具没有准备就绪,我认为我不会启动这个项目。编写 R Markdown 文件很有趣,并且很容易收集材料并获得动力。特别感谢 Achim Zeileis 和 Reto Stauffer 的 colorspace,Thomas Lin Pedersen 的ggforce 和 g
15、ganimate,Kamil Slowikowski 的 ggrepel,Edzer Pebesma 的 sf 和 Claire McWhite 在 colorspace 和 colorblindr 上的工作,模拟 R 装配图中的色觉缺陷。有几个人对本书的草稿版本提供了有用的反馈。最重要的是,0Reilly 的编辑 Mike Loukides 和 Steve Haroz 都阅读并评论了每一章。我还收到了 Carl Bergstrom, Jessica Hullman,Matthew Kay,Edzer Pebesma,Tristan Mahr,Jon Schwabish 和 Hadley Wi
16、ckham 的有益评论。 Len Kiefer 的博客和 Kieran Healy 的书和博客文章为图形制作和数据集提供了许多灵感。许多人指出了小问题或错别字 , 包 括 Thiago Arrais,Malcolm Barrett,Jessica Burnett,Jon Calder, AntnioPedroCamargo,Daren Card,Kim Cressman,Akos Hajdu,Andrew Kinsman,Will Koehrsen,Alex Lalejini,John Leadley,Katrin Leinweber,Mikel Madina,Claire McWhite,S
17、busiso Mkhondwane,Jose Nazario,Steve Putman,MalleSalmon,Christian Schudoma,James Scott-Brown,Enrico Spinielli,Wouter van der Bijl 和 Ron Yurko。我还要更广泛地感谢 tidyverse 和 R 社区的所有其他贡献者。确实存在可用于任何可视化挑战的 R 包。所有这些包都是由数千名数据科学家和统计学家组成的广泛社区开发的,其中许多都以某种形式为本书的制作做出了贡献。1 简介原文: 1 ntroduction校验:飞龙自豪地采用谷歌翻译数据可视化是部分艺术和部分科
18、学。挑战在于让艺术变得正确而不会让科学出错, 反之亦然。首先,数据可视化必须准确地传达数据。它绝不能误导或扭曲。如果一个数字是另一个数字的两倍,但在可视化中它们看起来大致相同,那么可视化就是错误的。同时,数据可视化应该是美学上令人愉悦的。良好的视觉呈现倾向于增强可视化的信息。如果图形包含不和谐的颜色,不平衡的视觉元素或其他分散注意力的特征,那么观察者将发现更难以检查图形并正确解释它。根据我的经验,科学家经常(虽然并非总是如此!)知道如何可视化数据而不会产生严重的误导。然而,它们可能没有良好的视觉美感,并且它们可能无意中做出视觉选择,从而减损了他们想要的信息。另一方面,设计师可能制作看起来漂亮,
19、但可能简单和松散地使用数据的可视化。我的目标是为两个群体提供有用的信息。本书试图涵盖可视化出版物,报告或演示文稿数据所需的关键原则,方法和概念。因为数据可视化是一个广阔的领域,并且在其最广泛的定义中可能包括各种主题, 如技术原理图,3D 动画和用户界面,我必须限制本书的范围。我特别报道了在印刷品,在线或幻灯片中呈现的静态可视化的情况。除了可视化不确定性章节中的一个简短部分外,本书不包括交互式视觉效果或电影。因此,在本书中,我将互换使用“可视化”和“图形”这两个词。本书也没有提供如何用现有的可视化软件或编程库制作图形的任何指导。本书末尾的带标注的参考书目,包含了涵盖这些主题的适当文本的引用。这本
20、书分为三个部分。第一个“从数据到可视化”描述了不同类型的绘图和图形,例如条形图,散点图或饼图。它的主要重点是可视化科学。在这一部分中,我不是试图提供所有可想象的可视化方法的百科全书,而是讨论一组核心的视觉效果,您可能会在出版物和/或您自己的工作中遇到这些视觉效果。在组织这一部分时,我试图通过它们传达的消息类型,而不是可视化数据的类型,来对可视化进行分组。统计文本通常按数据类型描述数据分析和可视化,按数量和变量类型组织材料(一个连续变量,一个离散变量,两个连续变量,一个连续变量和一个离散变量等)。我相信只有统计学家才会觉得这个组织很有帮助。大多数人都会根据消息来思考,比如某事物有多大,它是如何由
21、部分组成的,它与其他事物的关系等等。第二部分“图形设计原理”讨论了制作数据可视化时出现的各种设计问题。它的主要但不是唯一的重点,是数据可视化的美学方面。一旦我们选择了适合我们数据集的正确类型的绘图或图形,我们就必须对视觉元素做出美学选择,例如颜色,符号和字体大小。这些选择可以影响可视化的清晰程度和外观的优雅程度。第二部分的章节讨论了在实际应用中反复出现的最常见问题。第三部分“杂项主题”涵盖了一些不符合前两部分的遗留问题。它讨论了常用于存储图像和绘图的文件格式,它提供了有关可视化软件选择的想法,并解释了如何将单个图形放入更大文档的上下文中。丑陋,不好的和错误的图形在本书中,我经常展示相同图形的不
22、同版本,一些作为如何制作良好可视化的示 例,一些作为反面示例。为了提供一个简单的视觉指南,说明哪些例子应该被模 仿,哪些应该被避免,我明确地将有问题的图形标记为“丑陋”,“不良”或“错误”(图1 1):丑陋 - 有审美问题的图形,但其他方面很清楚,信息量很大。不良 - 与感知有关的问题;它可能不清楚,混乱,过于复杂或误导性。错误 - 有数学问题的图形;这是客观上不正确的。图 1 1:丑陋,不良和错误图形的例子。(a) 显示三个值( A = 3 , B = S 和 C = 4 )的条形图。这是一个合理的可视化, 没有重大缺陷。(b)(a)的丑陋版本。虽然绘图在技术上是正确的,但它在美学上并不令人
23、愉悦。颜色太亮而且没用。背景网格太突出了。使用三种不同尺寸的三种不同字体显示文本。(c)(a)的不良版本。每个条都显示有自己的 y 轴刻度。由于刻度不对齐,这使得图形有误导性。人们可以很容易地得到三个值比实际值更接近的印象。(d)(a)部分的错误版本。如果没有明确的 y 轴刻度,则无法确定由条形表示的数字。条形似乎长度为 1,3 和 2,即使显示的值为 3,5 和 4。我没有明确标明好的图形。任何未明确标记为有缺陷的图形都应假定为至少可以接受。这是一个信息丰富的图形,看起来很吸引人,并且可以按原样打印。请注意, 在好的图形中,质量仍然存在差异,一些好的图形会比其他图形更好。我通常会提供具体评级
24、的理由,但有些是品味问题。一般来说,“丑陋”评级比“不良”或“错误”评级更主观。而且,“丑陋”和“不良”之间的界限有点模糊。有时糟糕的设计选择会干扰人类的感知,以至于“不良”评级比“丑陋”评级更合适。无论如何, 我鼓励你开发自己的眼睛并批判性地评估我的选择。2 可视化数据:将数据映射到美学上原文: 2 Visualizing data: Mapping data onto aesthetics校验:飞龙自豪地采用谷歌翻译每当我们可视化数据时,我们都会采用数据值并将它们以系统和逻辑的方式转换为构成最终图形的视觉元素。尽管存在许多不同类型的数据可视化,并且乍一看散点图,饼图和热图似乎没有太多共同点
25、,但所有这些可视化都可以用一种通用语言来描述,它捕获了数据如何变成纸上的墨水斑点,或屏幕上的彩色像素。主要的见解如下:所有数据可视化将数据值映射到所得图形的可量化特征。我们将这些特征称为美学。2.1 美学和数据类型美学描述了给定图形元素的每个方面。图 2 1 中提供了一些示例。每个图形元素的关键成分当然是它的位置,描述了元素的位置。在标准 2D 图形中,我们通过 x 和 y 值来描述位置,但是其他坐标系和一维或三维可视化也是可能的。接下来,所有图形元素都具有形状,尺寸和颜色。即使我们正在制作黑白绘图,图形元素也需要有可见的颜色,例如,如果背景为白色,则为黑色;如果背景为黑色,则为白色。最后,我
26、们使用线条来可视化数据,这些线条可能具有不同的宽度或点划线图案。除了图 2 1 中显示的示例之外,我们在数据可视化中可能会遇到许多其他美学。例如,如果我们想要显示文本,我们可能必须指定字体系列,字体界面和字体大小,如果图形对象重叠,我们可能必须指定它们是否部分透明。图 2 1:数据可视化中常用的美学:位置,形状,大小,颜色,线宽,线型。这些美学中的一些可以表示连续和离散数据(位置,大小,线宽,颜色),而其他美学通常仅表示离散数据(形状,线型)。所有美学都属于两类:可以代表连续数据的那些和不能代表连续数据的那些。连续数据值是存在任意精细中间体的值。例如,持续时间是连续值。在任何两个持续时间(例如
27、 50 秒和 51 秒)之间,存在任意多个中间体,例如 50 5 秒,50 51 秒, 50 50001 秒等。相比之下,房间中的人数是离散值。一个房间可以容纳 5 人或 6 人,但不能容纳 5 5 人。对于图 2 1 中的示例,位置,大小,颜色和线宽可以表示连续数据,但形状和线型通常只能表示离散数据。接下来,我们将考虑可能要在可视化中表示的数据类型。您可能会将数据视为数 字,但数字只是我们可能遇到的几种数据类型中的两种。除连续和离散数值外,数据还可以以离散类别的形式,以日期或时间的形式出现,也可以作为文本(表2 1)。当数据是数字时我们也称它为定量的,当它是类别时我们称它为定性的。保存定性数
28、据的变量是因子,不同的类别称为水平。最常见的一个因子的水平是没有顺序的(如表 2 1 中的“狗”,“猫”,“鱼”的例子),但是当存在内在因素时也可以在水平之间的对因子排序(如表 2 1 中的“好”,“一般”,“差”的例子)。表 2 1:典型数据可视化方案中遇到的变量类型。变量的类型例子适当的刻度描述定量/ 数值连续l.3, S.7, 83,l.Sxl0(-2)连续任意数值。这些可以是整数,有理数或实数。定量/ 数值离散l, 2, 3, 4离散离散单位中的数字。这些最常见但不一定是整数。例如,如果给定数据集中不存在中间值,则数字 0.S, l.0, l.S 也可视为离散。定性/ 无序类别狗,猫,
29、鱼离散没有顺序的类别。这些是离散且唯一的类别,没有固有的顺序。这些变量也称为因子。定性/ 有序类别好,一般, 差离散带顺序的类别。这些是具有顺序的离散且唯一的类别。例如,“一般”总是介于“好”和“差” 之间。这些变量也称为有序因子。日期或时间2018 年 1 月5 日,上午8:03连续或离散特定日期和/或时间。也可能是通用日期, 例如 7 月 4 日或 12 月 25 日(没有年份)。文本The quick brown fox jumps over the lazy dog.无或离散自由格式的文本。如果需要,可以视为类别。要查看这些不同类型数据的具体示例,请查看表 2 2 。它显示了数据集的前
30、几行, 它们提供了美国四个地点的日平均气温(30 年窗口中的平均日常温度)。此表包含五个变量:月,日,位置,站点 D 和温度(以华氏度为单位)。月是有序因子,日是离散数值,位置是无序因子,站点 D 同样是无序因子,温度是连续数值。表 2 2:数据集的前 12 行,列出了四个气象站的日平均气温。 数据来源:N0AA。月日地点站点 ID温度Jan1ChicagoUSW0001481925 6Jan1San DiegoUSW0009310755 2Jan1HoustonUSW0001291853 9Jan1Death ValleyUSC0004231951 0Jan2ChicagoUSW000148
31、1925 5Jan2San DiegoUSW0009310755 3Jan2HoustonUSW0001291853 8Jan2Death ValleyUSC0004231951 2Jan3ChicagoUSW0001481925 3Jan3San DiegoUSW0009310755 3Jan3Death ValleyUSC0004231951 3Jan3HoustonUSW0001291853 82.2 将地图数据值缩放到美学上为了将数据值映射到美学上,我们需要指定哪些数据值对应于哪些特定的美学值。例如,如果我们的图形具有 x 轴,那么我们需要指定哪些数据值沿着该轴落在特定位置上。同样,我
32、们可能需要指定哪些数据值由特定形状或颜色表示。数据值和美学值之间的映射是通过刻度创建的。刻度定义了数据和美学之间的唯一映射(图 2 2)。重要的是,刻度必须是一对一的,这样对于每个特定的数据值,只有一个美学值,反之亦然。如果刻度不是一对一的,那么数据可视化就变得模棱两可。图 2 2:将一串数据值缩放到美学。这里,数字 1 到 4 已被映射到位置,形状和颜色刻度。对于每个刻度,每个数字对应于唯一的位置,形状或颜色,反之亦然。让我们把事情付诸实践。我们可以采用表 2 2 中显示的数据集,将温度映射到 y 轴上,一年中的日期映射到 x 轴上,位置映射到颜色上,并可视化这些美学与实线。结果是一个标准线
33、图,显示了四个位置随着日期的变化的平均气温(图 2 3)。图 2 3:美国四个选定位置的日平均气温,温度映射到 y 轴,一年中的某一天映射到 x 轴,以及位置到线的颜色。数据来源:N0AA。图 2 3 是一个相当标准的温度曲线可视化,可能是大多数数据科学家首先直观选择的可视化。但是,由我们决定哪些变量映射到哪个刻度。例如,不将温度映射到 y 轴上,不将位置映射到颜色上,我们可以做相反的事情。因为现在感兴趣的关键变量(温度)显示为颜色,我们需要显示足够大的颜色区域,以便颜色传达有用信息(Stone,Albers Szafir 和 Setlur 2014)。因此,对于这种可视化,我选择了正方形而不
34、是线条,每个月和位置都有一个,我用每个月的平均气温对它们着色(图 2 4)。图 2 4:美国四个地点的每月正常平均温度数据来源:N0AA我想强调的是,图 2 4 使用两个位置刻度(沿着 x 轴的月份和沿着 y 轴的站点), 但两者都不是连续刻度。月份是一个有 12 个水平的有序因子,位置是一个有四个水平的无序因子。因此,两个位置刻度都是离散的。对于离散位置刻度,我们通常将因子的不同水平沿轴线以相等的间距放置。如果因子是有序的(就像这里的月份一样),则需要按适当的顺序放置水平。如果因子是无序的(这里是站点的情况),那么顺序是任意的,我们可以选择我们想要的任何顺序。我排列了整体最冷(芝加哥)到整体
35、最热(死亡谷)的地点,来产生令人愉快的惊人色彩。但是,我可以选择任何其他顺序,这个图形同样有效。图 2 3 和 2 4 总共使用了三个刻度,两个位置刻度和一个颜色刻度。这是基本可视化的典型刻度数,但我们可以同时使用三个以上的刻度。图 2 5 使用五个刻度,两个位置刻度,一个颜色,一个尺寸和一个形状刻度,所有刻度表示来自数据集的不同变量。图 2 5:32 辆汽车(型号为 1973-74)的燃油效率与排量。该图使用五个单独的刻度来表示数据:(i) x 轴(排量);(ii) y 轴(燃油效率);(iii) 数据点的颜色(功率);(iv) 数据点的大小(重量);(v) 数据点的形状(缸数)。显示的五个
36、变量中的四个(位移,燃料效率,功率和重量)是数值连续的。剩余的一个(缸数)可以被认为是数值离散的或定性的。数据来源:Motor Trend, 1974。参考Stone, M., D. Albers Szafir, and V. Setlur. 20l4. “An Engineering Model for Color Diff3 坐标系和轴原文: 3 Coordinate systems and axes校验:飞龙自豪地采用谷歌翻译要进行任何类型的数据可视化,我们需要定义位置刻度,来确定不同数据值的在图形中的位置。如果不将不同数据点放置在不同位置,我们就无法可视化数据,即使我们只是沿着一条线将
37、它们彼此相邻排列。对于常规的 2d 可视化,需要两个数字来唯一地指定一个点,因此我们需要两个位置刻度。这两个刻度通常但不一定是图的 x 和 y 轴。我们还必须指定这些刻度的相对几何排列。通常, x 轴水平延伸,y 轴垂直,但我们可以选择其他排列。例如,我们可以使 y 轴相对于 x 轴成锐角,或者我们可以让一个轴成圆形而另一个轴径向延伸。一组位置刻度及其相对几何排列的组合称为坐标系。3.1 笛卡尔坐标最广泛使用的数据可视化坐标系是 2d 笛卡尔坐标系,其中每个位置由 x 和 y 值唯一指定。 x 和 y 轴彼此正交,数据值沿两个轴均等间隔放置(图 3 1 )。两个轴是连续的位置刻度,它们可以表示
38、正实数和负实数。要完全指定坐标系,我们需要指定每个轴覆盖的数字范围。在图 3 1 中, x 轴从 -2 2 到 3 2,y 轴从 -2 2 到 2 2。这些轴边界之间的任何数据值都放置在图中的相应位置。轴边界之外的任何数据值都将被丢弃。图 3 1:标准笛卡尔坐标系。横轴通常称为 x,纵轴为 y 。两个轴形成等间距的网格。这里, x 和 y 网格均以 1 为单位分开。点 (2, l) 位于原点 (0, 0) 右侧的两个x 单位和上方的一个 y 单位。点 (-l, -l) 位于原点左侧的一个 x 单位和位于下方的一个 y 单位。但是,数据的值通常不仅仅是数字。他们有单位。例如,如果我们测量温度,则
39、可以以摄氏度或华氏度为单位。类似地,如果我们测量距离,则可以以公里或英里为单位,如果我们测量持续时间,则可以以分钟,小时或天为单位。在笛卡尔坐标系中,沿轴的网格线之间的间距对应于这些数据单元中的离散步长。例如,在温度范围内,我们可能每 10 华氏度有一个网格线,而在距离范围内,我们可能每 5 公里有一个网格线。笛卡尔坐标系可以具有代表两个不同单位的两个轴。每当我们将两种不同类型的变量映射到 x 和 y 时,就会出现这种情况。例如,在图 2 3 中,我们绘制了温度与一年中的天数。图 2 3 的 y 轴以华氏度为单位测量,网格线均为 20 度,x 轴以月为单位测量,网格线在每三个月的第一个月。无论
40、何时以不同的单位测量两个轴,我们都可以相对于另一个轴拉伸或压缩,并保持数据的有效可视化(图 3 2 )。哪个版本更合适,取决于我们想传达的故事。高而窄的图形强调沿 y 轴的变化,而短而宽的图形则相反。理想情况下,我们希望选择一个宽高比,以确保任何位置上的重要差异都是显而易见的。图 3 2:德克萨斯州休斯顿的日平均温度。温度映射到 y 轴以及一年中的某一天映射到 x 轴。部分(a),(b)和(c)以不同的纵横比展示相同的图。所有三个部分都是温度数据的有效可视化。数据来源:N0AA。另一方面,如果 x 和 y 轴以相同的单位测量,那么两个轴的网格间距应该相等,这样沿着 x 或 y 轴的相同的距离,
41、对应于相同数量的数据单位。例如,我们可以绘制一年中每天的休斯顿,德克萨斯州与加利福尼亚州圣地亚哥的温度(图 3 3a)。由于沿两个轴绘制相同的定量值,我们需要确保网格线形成完美的正方形,如图 3 3 中的情况。图 3 3:休斯顿,TX 的日平均温度,相对于加利福尼亚州圣地亚哥的相应平均温度绘制。突出显示 1 月,4 月,7 月和 10 月的第一天,来提供时间参考。 (a)气温以华氏度表示。 (b)温度以摄氏度表示。数据来源:N0AA。您可能想知道如果更改数据单位会发生什么。毕竟,单位是任意的,你的偏好可能与其他人不同。单位变化是线性变换,我们在所有数据值中添加或减去一个数字和/ 或将所有数据值
42、与另一个数字相乘。幸运的是,笛卡尔坐标系在这种线性变换下是不变的。因此,您可以更改数据的单位,只要相应地更改轴,所得图形就不会改 变。例如,比较图 3 3a 和 3 3b。两者都显示相同的数据,但在部分(a)中温度单位是华氏度,而在部分(b)中它们是摄氏度。即使网格线位于不同的位置并且沿轴的数字不同,两个数据可视化看起来完全相同。3.2 非线性轴在笛卡尔坐标系中,沿轴的网格线在数据单元和所得可视化中均匀间隔。我们将这些坐标系中的位置刻度称为线性的。虽然线性刻度通常提供数据的准确表示,但是存在非线性刻度更佳的情况。在非线性刻度中,数据单元中的均匀间距对应于可视化中的不均匀间隔,或者相反地,甚至可
43、视化中的间距对应于数据单元中的不均匀间隔。最常用的非线性刻度是对数(log)刻度。对数刻度在乘法中是线性的,因此刻度上的单位步长相当于乘上固定值。要创建对数刻度,我们需要对数据值进行对数转换,同时对沿轴网格线显示的数字进行求幂。该过程在图 3 4 中进行了演示,其中显示了在线性和对数刻度上的数字 1, 3 16, 10, 31 6 和 100。数字 3 16 和 31 6 似乎是一个奇怪的选择,但选择它们是因为它们正好在 1 到 10 之间,在对数刻度上在 10 到 100 之间。我们可以通过观察 $10 0 5 = sqrt10 sim 3 16$ 和等价的$3 16 times 3 16
44、sim 10 $ 来看到这一点。类似地,$101 5 = 10 times 100 5 sim 31 6$。图 3 4:线性和对数刻度之间的关系。点对应于数据值 1, 3 16, 10, 31 6, 100,它们是对数刻度上的均匀间隔数。我们可以在线性刻度上显示这些数据点,我们可以对它们进行对数转换然后以线性刻度显示,或者我们可以在对数刻度上显示它们。重要的是,对数刻度的正确轴标题是显示的变量的名称,而不是该变量的对数。在数学上,在线性刻度上绘制对数变换数据,或在对数刻度上绘制原始数据之间没有区别(图 3 4 )。唯一的区别在于单个轴刻度线和整个轴的标签。在大多数情况下,对数刻度的标签是优选的
45、,因为它对读者施加较少的精神负担,来解释显示为轴刻度线标签的数字。关于对数基数的混淆风险也较小。当使用对数转换的数据 时,我们可能会对数据是使用自然对数还是使用基数 10 的对数感到困惑。不常见的标签是模棱两可的,例如: log(x) ,它根本没有指定基数。我建议您在使用对数转换数据时始终标明基数。绘制对数转换的数据时,请始终在轴标签中指定基 数。因为对数刻度上的乘法看起来像线性刻度上的加法,所以对数刻度是通过乘法或除法获得的任何数据的自然选择。特别是,比值通常应以对数刻度显示。例如,我已经记录了德克萨斯州每个县的居民人数,并将其除以德克萨斯州所有县的居民人数中位数。得到的比值是可以大于或小于
46、 1 的数字。恰好为 1 的比值意味着相应的县具有居民的中位数。当以对数刻度可视化这些比值时,我们可以清楚地看到,德克萨斯州的人口数量对称地分布在中位数附近,并且人口最多的县的人数比中位数多100 多倍,而人口最少的县则少 100 多倍(图 3 5 )。相比之下,对于相同的数据,线性刻度模糊了中等人口数量的县与人口数量小于中位数的县之间的差异(图3 6)。图 3 5:德克萨斯州的人口数量与其中值的关系。选择县按名称突出显示。虚线表示比值为 1,对应于具有中值人口数的县。人口最多的县的居民人数比中位数县大约多 100 倍,人口最少的县居民人数比中位数县少 100 倍。数据来源:2010 年美国十年普查。图 3 6:德克萨斯州的人口规模与其中值的关系。通过在线性刻度上显示比值,我们过分强调了大于 1 的比值,并且模糊了小于 1 的比值。作为一般规则,比值不应以线性刻度显示。数据来源:2010 年美国十年普查。在对数刻度上,值 1 是自然中点,类似于线性刻度上的值 0。我们可以认为大于 1 的值表示乘法而小于 1 的值表示除法。例如,我们可以写 l0 = l x l0 和 0.l = l / l0 。另一方面,值 0 永远不会出现在对数刻度上。它远离 1。它的一个方法是考虑 log0 =