图 9.8:内布拉斯加州林肯市的日平均气温,可视化为 Sina 阴影(单独的点和提琴的组合)。这些点沿着 *x* 轴与各个温度下的点密度成比例地散开。名称 Sina 图旨在表彰丹麦哥本哈根大学的学生 Sina Hadi Sohi,他编写了该大学研究人员制作此类图表的第一版代码(Frederik O. Bagger, personal communication)。
图 9.8:内布拉斯加州林肯市的日平均气温,可视化为 Sina 阴影(单独的点和提琴的组合)。这些点沿着 *x* 轴与各个温度下的点密度成比例地散开。名称 Sina 图旨在表彰丹麦哥本哈根大学的学生 Sina Hadi Sohi,他编写了该大学研究人员制作此类图形的第一版代码(Frederik O. Bagger, personal communication)。
图 11.1:匹兹堡的桥梁,按照建筑材料(钢,木材,铁)和建造日期(手工,1870 年之前,现代,1940 年之后)划分,以饼图展示。数字代表所有桥梁中给定类型的桥梁的百分比。此图表无效,因为百分比加起来超过 100%。建筑材料与施工日期之间存在重叠。例如,所有现代桥梁均由钢制成,大多数手工桥梁由木材制成。数据来源:Yoram Reich 和 Steven J. Fenves,UCI 机器学习库(Dua 和 Karra Taniskidou 2017)
图 11.1:匹兹堡的桥梁,按照建筑材料(钢,木材,铁)和建造日期(手工,1870 年之前,现代,1940 年之后)划分,以饼图展示。数字代表所有桥梁中给定类型的桥梁的百分比。此图形无效,因为百分比加起来超过 100%。建筑材料与施工日期之间存在重叠。例如,所有现代桥梁均由钢制成,大多数手工桥梁由木材制成。数据来源:Yoram Reich 和 Steven J. Fenves,UCI 机器学习库(Dua 和 Karra Taniskidou 2017)
图 11.9:匹兹堡的桥梁,按建筑材料,长度,建造时代和跨越河流划分。这个图表类似于图 11.8 ,但现在条带的着色突出了不同桥梁跨越的河流。该图标记为“丑陋”,因为图中间的彩色条带的布置非常嘈杂,并且还因为需要从右向左读取条带。数据来源:Yoram Reich 和 Steven J. Fenves,UCI 机器学习库(Dua 和 Karra Taniskidou 2017)
图 11.9:匹兹堡的桥梁,按建筑材料,长度,建造时代和跨越河流划分。这个图形类似于图 11.8 ,但现在条带的着色突出了不同桥梁跨越的河流。该图标记为“丑陋”,因为图中间的彩色条带的布置非常嘈杂,并且还因为需要从右向左读取条带。数据来源:Yoram Reich 和 Steven J. Fenves,UCI 机器学习库(Dua 和 Karra Taniskidou 2017)
图 11.10:匹兹堡的桥梁,按照河流,建造时代,长度和建筑材料划分。该图与图 11.9 的不同之处仅在于平行集的顺序。但是,修改后的顺序会产生更易于阅读且不太嘈杂的图表。数据来源:Yoram Reich 和 Steven J. Fenves,UCI 机器学习库(Dua 和 Karra Taniskidou 2017)
图 11.10:匹兹堡的桥梁,按照河流,建造时代,长度和建筑材料划分。该图与图 11.9 的不同之处仅在于平行集的顺序。但是,修改后的顺序会产生更易于阅读且不太嘈杂的图形。数据来源:Yoram Reich 和 Steven J. Fenves,UCI 机器学习库(Dua 和 Karra Taniskidou 2017)
该图包含四条线,代表四家不同公司的股票价格。这些线条采用色觉缺陷友好的颜色刻度进行颜色编码。因此,将每条线与相应的公司相关联应该是相对直接的。但事实并非如此。这里的问题是数据线具有清晰的视觉顺序。代表 Facebook 的黄线显然是最高的线,代表 Apple 的黑线显然是最低的,其中 Alphabet 和 Microsoft 介于此之间。然而,图例中四家公司的顺序是 Alphabet,Apple,Facebook,Microsoft(字母顺序)。因此,数据线的感知顺序不同于图例中的公司顺序,并且将数据线与公司名称匹配需要花费大量精力。
尽管本书中的几乎所有图表都是用 R 和 ggplot2 制作的,但我并不认为这是 R 的书。我在谈论图表制作的一般原则。用于制作图表的软件是随意的。你可以使用任何你想要的绘图软件,来生成我在这里展示的各种图表。但是,ggplot2 和类似的软件包使我使用的许多技巧比其他绘图库简单得多。重要的是,因为这不是 R 的书,所以我不会在本书的任何地方讨论代码或编程技巧。我希望你专注于概念和图表,而不是代码。如果您对如何制作任何数据感到好奇,可以在[ GitHub 存储库](https://github.com/clauswilke/dataviz)中查看该书的源代码。
尽管本书中的几乎所有图形都是用 R 和 ggplot2 制作的,但我并不认为这是 R 的书。我在谈论图形制作的一般原则。用于制作图形的软件是随意的。你可以使用任何你想要的绘图软件,来生成我在这里展示的各种图形。但是,ggplot2 和类似的软件包使我使用的许多技巧比其他绘图库简单得多。重要的是,因为这不是 R 的书,所以我不会在本书的任何地方讨论代码或编程技巧。我希望你专注于概念和图形,而不是代码。如果您对如何制作任何数据感到好奇,可以在[ GitHub 存储库](https://github.com/clauswilke/dataviz)中查看该书的源代码。
## 关于绘图软件和图表制作流程图的思考
## 关于绘图软件和图形制作流程图的思考
我有超过二十年的为科学出版物制作图表的经验,并已只做了成千上万的图表。如果在这二十年中有一个常数,那就是图表制作流水线的变化。每隔几年,就会开发一个新的绘图库或者出现一个新的范例,大量的科学家们转而使用热门的新工具包。我使用 gnuplot,Xfig,Mathematica,Matlab,python 中的 matplotlib,R 中的 R 基本库,ggplot2,以及我目前无法记住的其他东西。我目前首选的方法是 R 中的 ggplot2,但我不希望在退休之前我会继续使用它。
我有超过二十年的为科学出版物制作图形的经验,并已只做了成千上万的图形。如果在这二十年中有一个常数,那就是图形制作流水线的变化。每隔几年,就会开发一个新的绘图库或者出现一个新的范例,大量的科学家们转而使用热门的新工具包。我使用 gnuplot,Xfig,Mathematica,Matlab,python 中的 matplotlib,R 中的 R 基本库,ggplot2,以及我目前无法记住的其他东西。我目前首选的方法是 R 中的 ggplot2,但我不希望在退休之前我会继续使用它。