不要绘制3D图形

以下部分是基于《Fundamentals of Data Visualization》学习笔记,要是有兴趣的话,可以直接看原版书籍:https://serialmentor.com/dataviz/

3D情节非常受欢迎,但是它们也几乎总是使用不当。在绘图过程中,很少看到一个3D绘图不能通过将其转换成普通的2D图形而得到改进的。在这一章中,我们将解释为什么3D绘图存在问题,为什么它们通常是不需要的,以及在哪些有限的情况下3D绘图可能是合适的。

1. 避免不必要的3D

许多可视化软件都能让你将图中的图形元素转换成三维对象来美化你的图形。最常见的情况是,我们看到饼图变成了在空间中旋转的圆盘,条形图变成了列,线图变成了条。值得注意的是,在所有这些情况下,第三维度都没有传递任何实际数据。3D只是用来装饰图形的。相比较而言,这种3D的使用是不必要的。这是非常糟糕的,应该从数据科学家的视觉词汇中删除。

3D图形的主要问题在于,我们将3D对象投射到二维的显示器上的时候,会扭曲数据。由于显示的问题,人类的视觉系统试图矫正这种扭曲。但是这种修正总是片面的。例如我们以一个简单的饼图为例。它有两个分组,一个表示25%的数据,另外一个则表示75%的数据。我们将这个饼图在三维空间当中旋转。当我们改变这个看这个饼图的角度的时候,这个图形的大小也似乎在发生改变,特别是25%这个部分。

其他类型的3D图也有类似的问题。例如👇的3D条形图。这个图显示了泰坦尼克号当中不同等级船舱当中的男女占比。由于这些竖条是相较于坐标轴的排列方式。所以他们看起来都比实际短一些。例如总共有322名乘客的头等舱。但是,我们会发现这个图形的头等舱的柱子比300少。

产生这种错觉的原因是,表示数据的列与绘制灰色水平线的两个背面之间存在一定距离。通过比较3D效果和2D的图,就可以发现在3D图上的任何一个条形看起来都比2D上面的要高。

3. 避免使用3D位置标度

对于3D图形而言,还可以使用3D维度的坐标轴(X, Y, Z)。但是如果使用这三个维度的坐标轴的话,结果就更加让人疑惑了。例如,👇32辆汽车的燃油效率与排量和功率的3D散点图。在这里,我们绘制沿x轴的位移,沿y轴的功率以及沿z轴的燃油效率,并用点表示每个汽车(图26.3)。即使从四个不同的角度显示了这种3D可视化效果,也很难想象这些点在空间中的分布情况。而且不同的角度显示的结果都感觉不是一个数据集呈现的结果。

这种3D可视化的基本问题是,在可视化的过程中,它们需要两次单独的,连续的数据转换。第一个转换将数据从数据映射到3D可视化空间。第二个将数据从3D可视化空间映射到最终图形的2D空间。因为2D显示器上的每个点都对应3D可视化空间中的点线。因此,我们无法唯一确定3D空间中任何特定数据点的位置。

对于图形而言,与其绘制3个维度的图形,不如在2D图形当中添加一个新的标度(例如,颜色,大小,形状等等)。例如👇就是一次性绘制了五个变量的2D图形。

在这里,我想展示两种替代方法来精确绘制图26.3中使用的变量。首先,如果我们主要关注燃油效率作为响应变量(放到Y轴上),则可以绘制两次,一次针对排量,一次针对功率。

其次,如果我们对排量和功率之间的关系更感兴趣,并将燃油效率作为关注的次要变量,则可以绘制功率与排量的关系图,并将燃油效率映射到点的大小上。

3. 绘制合适的3D图形

但是,有时使用3D位置比例尺进行可视化是合适的。首先,如果可视化是交互式的并且可以由查看者旋转,或者在可视化的VR或增强现实环境中可以从多个角度进行观察。其次,即使可视化不是交互式的,也可以显示它缓慢旋转,而不是从一个角度显示为静态图像。

最后,当我们想要显示实际的3D对象和/或映射到它们的数据时,使用3D可视化是有意义的。例如,显示山区岛屿的地形地貌的地图。

同样,如果我们想可视化映射到其结构的蛋白质的进化序列保守性,则将结构显示为3D对象是有意义的。

(0)

相关推荐

  • 百分比堆积饼图,有点意思

    hello大家好,我是小E,今天要说的百分比堆积饼图. 如下图所示,一至四个季度销售占比分布在一个圆形饼图内部. 一起看看如何制作~ 第一步 插入堆积柱形图 在数据源的底部添加一行辅助行,数字是100 ...

  • AI绘制3D图形

    3D立体文字与图形效果,是平面设计中常见的一种设计元素. 制作3D效果,首先想到的是3dsmax, Rhino, C4D等.其实,Ai软件也能够简便和快速地打造3D效果.既可以节约时间成本,又可以满足 ...

  • 英国小学数学课中关于2D和3D图形需要掌握哪些知识?

    2D图形:二维图形,任何平面的图形,比如三角形.正方形和长方形. 3D图形:三维图形,立体的,有体积的图形,比如立方体cube,圆柱cylinder. 整个小学阶段,孩子们将重点学习各种各样的图形,2 ...

  • 趣玩 Python 之绘制基本图形

    Python中的类库极其丰富,数据科学中经常会用到可视化技术.今天我们来一学习一下Python中基本图形的绘制方法,本文我们将主要基于turtle(小乌龟)库来画图~ 为了方便后面进行交互性演示,这里 ...

  • 实战!Python 30 行代码画各种 3D 图形

    来源:Python 技术「ID: pythonall」 在之前的文章有讲解过 Matplotlib 的用法,可能有的小伙伴们已经略有忘记,如果有不熟悉的读者朋友们请回顾Matplotlib学习进阶 , ...

  • 有人说Python是青铜?我用50行Python代码绘制3D机场分布图

    原创 菜鸟哥 菜鸟学Python 2020-03-23 绘制一款的3D图形,不仅可以直观的展示数据分析的结果,也更方便数据化运营,同时也让工作成果更容易被大众理解.本文就基于python绘制一款基础的 ...

  • 1046:PPT快速绘制百分比图形表达

    PPT快速绘制百分比图形表达

  • PPT技巧精选丨如何绘制3D菱形信息图表?

    本期技巧共 605 字,预计阅读时间 6 分钟 本期这个图形绘制的难点在这个菱形立体结构如何绘制?牛闪君手把手教会你! 问题 如何绘制立体菱形信息图表表达? 解答 利用拆分功能和自定义图形功能搞定! ...

  • 金星、地球、火星三行星运转绘制五角星图形---五行学说[转]

    当我从天文学基础理论入手进行多方面的研究,试图证明太阳黑子并非太阳表面物质,它是运行至地球与太阳之间的天体物质时,意外的发现了这样一个有趣的问题,那就是每隔6.4年都会出现金星.地球.火星大致运行到一 ...

  • 大佬绘制3D版祢豆子,远看像手办,本手残知道原理也画不出来

    现在喜欢在网络上分享自己画作的画师大佬很多,其绘制的作品各有特色,今天想给大家分享的这位可厉害了,居然通过手绘的方式创作出了拥有3D视觉效果的动漫角色,远看过去好像手办一样,十分神奇,而且这些作品都是 ...