![665faa080b22299b463d689a9d510fcc.png](https://i-blog.csdnimg.cn/blog_migrate/c1187d4e2dc992f9bc9d1c3b97c79749.jpeg)
图表是数据可视化的常用表现形式,是对数据的二次加工,可以帮助我们理解数据、洞悉数据背后的真相,让我们更好地适应这个数据驱动的世界。无论在工作汇报、产品设计、后台设计以及数据大屏中都能看到它的身影。然而,在实际工作中我发现很多初入行的设计师对于图表设计并不是很了解,同时市面上对于这方面的资料相对零散,不成体系。所以我结合了平时工作中的理解,梳理了系列文章,希望能帮助到大家。
目录
一、图表的组成
- 图表结构
- 数据墨水比
二、图表组件拆分
- 标题
- 轴
- 图例
- 标签
- 提示信息
- 图形
一、图表的组成
1. 图表结构
当我们把图表的结构进行拆解后,就会发现一个图表是由很多个细小构件组成的,这些构件有自己的名字和用途,分别是标题、轴、图形、图例、标签、提示信息。在平常使用的过程中,会根据场景去修饰删减一些构件元素,以此来减少冗余信息,用最适量的数据墨水比(Data-ink Ratio),帮助用户快速达成目标,在最少的时间内获取更多的信息。
1.标题 - 描述图表的主题(包含主标题和副标题)
2.标签 - 对当前这一组数据进行的内容标注
3.轴 - 用来定义坐标系中数据在方向和值的映射关系
4.图例 - 对图形本身的概括
5.提示信息 - 当tap或者hover的时候,以交互提示信息的形式展示该点的数据详情
6.图形 - 统计图表的视觉通道在形状上映射的视觉展现
![41e47ef20817672e61a4108441ba8221.png](https://i-blog.csdnimg.cn/blog_migrate/5a5e24b50b019b04d38a7214ed3b8702.jpeg)
接下来,我会一点一点地为大家讲解它们,方便大家合理的使用它们。但在此之前,我们先来了解一个知识点 - 数据墨水比,以便更好的理解接下来的内容。
2. 数据墨水比
数据墨水比——"data-ink ratio",是1983年视觉大师爱德华·塔夫特(Edward Tufte)在《The Visual Display of Quantitative Information》中提出的一个概念:一幅图表的绝大部分笔墨应该用于展示数据信息,数据变化则笔墨也变化。他将数据油墨比定义为图表中用于数据的墨水量除以总油墨量。其中数据墨水指的是图表中不可删除的核心内容。比如,我可以删除图例、删除坐标轴、删除网格线,这可能不会影响你从图表中读取相关的信息。但如果我删除柱形图、饼图这些图表的映射关系,那么图表就没有内容了。
我个人更喜欢用“信噪比”= 信号/(信号+噪音) 这个概念去理解,因为通过可视化传达的信息不仅仅是数据,还有业务洞察,像观点、结论性的信息往往需要用文字来呈现的也是至关重要。不过无论使用哪个词,最终的目的都是突出传达“信息”部分,去除那些干扰的“噪音”。
因此,图表中的数据墨水占比越多,那么该图表的冗余信息就越少,信息传递效果就越好。所以,在创建图表和图形时,我们的目标应该是在合理范围内最大化数据墨水比。
![3a1ce1a613cd5cbf48b900d57447c05c.png](https://i-blog.csdnimg.cn/blog_migrate/d751849f9c4799c839a734dd3e78098d.jpeg)
二、图表元素拆解
1.标题
1.1 标题设计建议
一个明确、相符的标题可以迅速让读者理解图表要表达的内容。通常图表的标题是根据图表所需要表达的内容决定的,大多数小伙伴可能认为命名没有太多问题。但当这个图表的结论是单一且唯一的时候,建议在概括图表内容的标题中加入结论性的信息点。这样能减少读者误解你的意图的可能,而且能够确保他们将注意力集中于你想着重强调的数据上 。
![3eb97432a31d4bbf52ae9536fe1cab5c.png](https://i-blog.csdnimg.cn/blog_migrate/43879fce7a76d28764152c3f2607ab46.jpeg)
2. 轴
2.1 什么是轴
轴是能够使每个数组在维度空间内找到映射关系的定位系统,更偏向数学/物理概念。换句话说,轴的功能像是把可视化对象置于共同的基准上,再以标尺进行数值量测。在数据可视化中,一般存在于笛卡尔坐标系(直角坐标系)和极坐标系中。对轴进行「原子」要素的拆分,我们可以得到以下几种元素,分别为:轴线、轴刻度线、轴标签、轴标题(单位)以及网格线。
![20e0d8ea652932125407f488129173ef.png](https://i-blog.csdnimg.cn/blog_migrate/deb0c4b69d655d3dbfcb238d9c103028.jpeg)
2.2 轴的分类
根据对应变量是连续数据还是离散数据,轴可以分为:分类轴,时间轴,连续轴。
![b45e759dd41be26345b95430f32b19c5.png](https://i-blog.csdnimg.cn/blog_migrate/c96d0cbe278b6fd52e0a4b1f44084b5c.jpeg)
现在我们已经知道了轴由哪几部分构成,那么接下来就来讨论下那些容易被忽视的设计细节。
2.3 轴的设计建议
2.3.1 轴线
轴线一般只考虑是否显示,结合上面所讲的数据墨水比,在有网格线的情况下,柱状图/折线图会隐藏 y 轴线,条形图则是隐藏 x 轴线,以达到信息降噪,突出视觉重点的目的。
![bdbdbdd41876513b37331c875d329981.png](https://i-blog.csdnimg.cn/blog_migrate/965170bd3c9b8cefec04b592a84b2cee.jpeg)
2.3.2 轴刻度线
轴刻度线是轴线上的小线段, 可以提供数值标签在坐标轴上的明确位置。轴刻度线有3种类型,分别为:置内、置中(即交叉方式)、置外。但刻度应置于数值坐标轴外侧, 不建议刻度采用置中或置内方式显示。
![e38be699736ce7a5c902280f2b217c5e.png](https://i-blog.csdnimg.cn/blog_migrate/b777741a27f058bb28556b40abc501f1.jpeg)
轴刻度线的使用就是加强映射关系,快速的对应到数据点。分类轴较多出现在柱状、条形中,对于映射有天然的对应关系,故在分类轴中习惯隐藏轴上的刻度线。
2.3.3 网格线
网格线是用来辅助图表优化映射关系的。使用网格线可以增加数据的可阅读性,网格线提供了两种功能:一是延伸数值刻度至可视化对象中,以便观察数据值之大小;二是增加可视化对象之间的比较基础 ,利于比较。
网格线一般跟随值域轴的位置单向显示,柱状图采用水平网格,条形图采用垂直网格。在使用网格线时,应该注意遵从主次原则,以轴线为主,网格线为辅,样式上可采用实线或者虚线。避免颜色过重,不要使用纯黑或者纯白,在视觉层级上不能抢了图表中的信息。
![5f50d3b81160009ae3bd3fadbccfd128.png](https://i-blog.csdnimg.cn/blog_migrate/82d655a43b4352fe1cf5172cb39ae553.jpeg)
2.3.4 轴标题
轴标题(单位)主要用于说明定义域轴、值域轴的数据含义。当可视化图表的其他部分内容(标题、图例、轴标签等)已经能充分表达数据含义,根据奥卡姆剃刀定律,可以略去轴标题,近一步增大数据油墨比,精简画面元素。
![9489c13898db03fe843a3b40f6c519c7.png](https://i-blog.csdnimg.cn/blog_migrate/c27008afc1c5d3fbc566a7374aefbcd2.jpeg)
2.3.5 轴标签
轴标签的设计较为复杂,涉及到的细节点比较多。这里将围绕直角坐标系的X轴和Y轴这两个方向进行讨论。
X轴标签
x 轴标签的设计重点在显示规则上,在可视化图表设计中,我们常常会碰到轴标签内容过长的情况,当空间有限时,轴标签会重叠在一起。如何处理此类问题,这里根据轴的不同类型给了对应的解决方案 。
A. 连续/时间轴标签
在连续轴和时间轴中,我们可以利用抽样显示的手段来优化轴标签重叠的问题。这里不推荐使用旋转来缩减宽度。一方面从美观度上,旋转可能会破坏界面整体协调。另一方面,连续/时间轴并不需要显示所有的轴标签,参考格式塔中的[连续性原理],尽管轴标签未能完全展示,但用户会在脑海中把缺失的部分补齐,轴标签仍然会像连续着的一样。
![f97861bfcf260c9ec3cf1fa7be20eacd.png](https://i-blog.csdnimg.cn/blog_migrate/9d94d0b688bfd7ac642cb830b3e3a103.jpeg)
B. 分类轴标签
在分类轴中,由于标签与标签之间并没有紧密的逻辑关联关系。若采用抽样规则,隐藏了一些标签,则加大了用户对图表信息的提取难度,这是我们不想看到的。对于分类轴,这里建议通过标签旋转或转换成其他图表(条形图)来缩减宽度。
![63ac8d1f6285fcf6d5677b12a8f3f9ef.png](https://i-blog.csdnimg.cn/blog_migrate/4badf9f9e6cab50cca93bf786a8ebff8.jpeg)
Y轴标签
y 轴标签的设计重点在标签数量、取值范围和数据格式上。标签显示区域一般根据最长标签宽度自适应缩放。如果数组是固定的,就写成固定宽度,节省图表计算量,提高渲染速度。
A. 轴标签的数量
轴标签的数量不建议过多,太多的标签必定导致横向网格线变多,造成元素冗余,干扰图形信息表达。根据 7±2 法则,Y轴标签数量应尽量控制在这个范围内。
![e0b64471f12bdea658316eec14256c59.png](https://i-blog.csdnimg.cn/blog_migrate/bb545b6c65afd5861849a3a499ec224b.jpeg)
B. 轴标签的取值范围
一般来说,y 轴标签的取值应从 0 基线开始,以恰当反映数值。展示被截断的数据可能会误导用户做出错误的判断。比如数据本身没有那么起伏变化,处理上下限的颗粒度,把刻度拉长,一样能显得“长势喜人”。
![f5959aa851d703694f65a0d57109bbfc.png](https://i-blog.csdnimg.cn/blog_migrate/432014d483117256dd5a470060f4585e.jpeg)
从上面就能明白,在看图表的时候千万不要被表面给欺骗,仅仅观看柱状图的高低趋势往往不能得出正确结论,需要注意坐标轴起始位置有没有被人做过虚假处理。
但存在即合理,对于此类的取值方式不做过多评价。这里主要想讲一下我常用的取值方式:对于Y轴的上限即最大值根据实际数据进行动态计算。比如一排数字中最大的为1190,那么轴标签最高位为1200;一排数字中最大的是1210,那么轴标签最高位为1400。其中的1400和2100是根据轴上的分段数决定的。
![eb23d97b05963c27f0c72d1570359ec9.png](https://i-blog.csdnimg.cn/blog_migrate/dc9b73b5a5a5d3ec90d1dc87ed5ae40a.jpeg)
但有些人对Y轴标签的取值给出了如下建议:在折线图中,取值一般保证图形约占绘图区域的2/3,或者将柱状的高度控制在图表高度的85%左右。
![6daaca2ae80851905a41696ccc8b4178.png](https://i-blog.csdnimg.cn/blog_migrate/a083eb45863c047b9c65294a73068d25.jpeg)
但我认为这种方式太刻意了,并且规则定制的比较细。但是得承认这样子确认会显的好看,做案例可以,做真实数据不行。因为考虑到实际数据有的时候会出现极限情况,比如有些特别大有些特别小,为了保证用户能从图表中准确地获取信息,不应该为了美感而破坏了它的真实性。因此并不推荐用这种方式来取值。
C. 轴标签的数据格式
关于Y轴标签的数据格式,这里重点讲一些比较容易忽视的设计细节。
第一,标签保留的小数位数保持统一,不要因为某些轴标签是整数值,就略去小数点。
![3180415d119b282290ef9c7bab4e5ac9.png](https://i-blog.csdnimg.cn/blog_migrate/9d2375b7bfc7ba444cedf6f19e7c93ce.jpeg)
第二,正负向的 y 轴标签,由于负值带“-”符号,整个 y 轴看起来会有视觉偏差,特别是双轴图的右 y 轴更明显。这里建议正负向 y 轴给正值标签带上“+”,以达到视觉平衡的效果。
![3da96c1e577b3bd04ceaa010a41a8220.png](https://i-blog.csdnimg.cn/blog_migrate/092589ca57f5701db090cd590a8e261c.jpeg)
3. 图例
3.1 什么是图例
图例是对图形本身的概括,在图表元素中属于辅助内容。它提供读者以对照的方式来理解可视化对象的项目归类。由映射图形形状和文本组成。
![48b927c04779b0e64eaa0a3034780240.png](https://i-blog.csdnimg.cn/blog_migrate/7261fd806dec0e7d7e49207cd4bc061b.jpeg)
3.2 图例的类型
根据数据类型不同,分为连续型图例和分类型图例。
根据状态不同,图例可以被设置为静态或可交互态。
![805caeafd767dc116567b30a03fb1b5b.png](https://i-blog.csdnimg.cn/blog_migrate/58db69076d717334e33237ba07d52edd.jpeg)
3.3 图例的设计建议
3.3.1 数字文本取整
正如,伦斯勒理工学院的行为经济学家高拉夫杰恩(Gaurav Jain)所说:“数字有一种语言的力量,能给予人一种特殊的感觉。当我们使用具体的整数数字时,人的衡量会减少。这种行为没有明显的原因。”
当人们的大脑在处理不以零结尾的不规则数字时,需要更多的脑力来处理,加大了获取信息的难度。因此在使用数字时,应该考虑这种偏好,倾向于一些取整的数字。同样的,这不仅仅适用于图例中的数字,同样适用于坐标轴上下限的数字。
![46ebd558aaee2f524c120d4cc30614d5.png](https://i-blog.csdnimg.cn/blog_migrate/64906989f34055528f81cbee09173c90.jpeg)
3.3.2水平图例和垂直图例
带有连续性的倾向于使用水平图例,因为更符合人们的阅读习惯;带有分类属性的倾向于使用竖直图例,图例的右边可放置更长的文本。
![d0ab4d779e5e83b07e4aee7fba387870.png](https://i-blog.csdnimg.cn/blog_migrate/e13e8eadd85ebf88c7bee82906faddfc.jpeg)
3.3.3 图例的位置
默认把图例放在左上角去做一个通用的方案看起来没毛病。但考虑到人的视觉动线是从上至下,从左到右。这里有一个更好的做法:缩短用户对照图例看图形的本能路径,可以提升对信息的获取效率。如下图所示:
![36b1e37f755dc9b5e986f1a0b4b24adc.png](https://i-blog.csdnimg.cn/blog_migrate/036a056ed7f03d3106a2ad0c4a859759.jpeg)
3.3.4 多折线图采用跟随图例
当我们在制作多折线图时,经常会出现个数据系列之间相互交错的情形,并使得各种数据标记与之前的出现顺序不一致,即与图例排列顺序不同情形。
因此观众的眼睛必须在图例与折线之间进行连连看,最佳的做法是采用跟随图例形式,去标识出折线所属于的维值信息,这样会更直观有效。
![ff24523b6c21b86cd670056c347e5302.png](https://i-blog.csdnimg.cn/blog_migrate/72c846f6af329a9bd883b4642154013f.jpeg)
4.标签
4.1 什么是标签
在图表中,标签是对当前的一组数据进行的内容标注。包括数据点、拉线、文本数值等元素,根据不同的图表类型选择使用。
![937078e08ffddefc858a2e5468cb478c.png](https://i-blog.csdnimg.cn/blog_migrate/6d020e5668ed09b03901f99324846fa2.jpeg)
4.2 标签的显示策略
在绘制的图表的时候,我们倾向将标签直接打在图形外,但在「堆叠类」图表中,标签会显示在图形内。这样做会有个后果,标签的文本和图形经常需要交叠展示,所以可读性需要足够良好,所以通过对 HS 值的判断,决定文字的颜色是否需要反思。这样对比度就在可控范围内,不会出现可读性的问题。有时,还需要增加描边,让标签更清晰。
![8854d5efe0eabbc39600e354744bfa8c.png](https://i-blog.csdnimg.cn/blog_migrate/437a8d507fdb686ed1841e01b8578e7e.jpeg)
当数据特别多并且密的时候会造成全部标签挤在一起的情况。在标签重叠时,采用动态计算的抽样显示方式,自动隐藏其中一个,同时当 Hover 图表时,显示被隐藏的对应的数据。这样保证了图表的清晰度,也保证了信息的完整性。
5. 提示信息
提示信息一般是tap或者hover的时候,图表以交互的方式吐出该位置的数据,帮助用户更深入的了解数据。一般由视觉标记图形,文本标签,数值标记这3中元素构成。
![f41faff50c7a4c59911bb737bdc03a0f.png](https://i-blog.csdnimg.cn/blog_migrate/a765abd658a9ab938e71fe260d5648a9.jpeg)
提示信息的展现形式由4种。按不同的图表类型,分为悬浮、固定位置、固定在轴上、固定在图形上。
![31b8136d60ad430d4b828094109e1003.png](https://i-blog.csdnimg.cn/blog_migrate/877f119c941e3b2af426ee8b19d0c5a2.jpeg)
6. 图形
人类从图形中获取信息的效率远高于文本,可以说如今人类早已进入了读图时代。图形是统计图表的视觉通道在形状上映射的视觉展现,是图表的必备元素,承载着数据背后蕴含的信息。按照组件原子化的思路来定义现在千奇百怪的图表,大致可以分为六种基础样式:折线,面积,散点,气泡,饼/环,柱形,条形。
![a1f82a3fe84e33e89d8e0e8e20a21880.png](https://i-blog.csdnimg.cn/blog_migrate/73e17a5bfb808606bd7440d46695aaab.jpeg)
这里主要想重点讲一下,如何通过设计来强化图表信息的表达,以便简化用户获取信息的成本。关于具体某个图表的制作规范和运用场景,会在之后的文章中提及。
6.1 改变颜色 - 明暗/深浅/色彩对比
通过明暗对比、颜色对比以及色彩对比等手段可以有效的区分信息,在视觉层级上也是明显的处理了视觉噪音,便于用户区分信息。
![b8059d2fa1554a94308556ccdba77fdc.png](https://i-blog.csdnimg.cn/blog_migrate/fac770d1d1a284250ad356589f6865bc.jpeg)
6.2 添加标注
通过添加标注,人为去干预信息的表达,多用于一前一后的标识,便于用户识别信息。
![6f2caf6e4fa3816ab6950abf628685b0.png](https://i-blog.csdnimg.cn/blog_migrate/3dd8cafc30ccf80d7c87a325b12a6722.jpeg)
以上就是本篇文章的全部内容,希望对大家有所帮助。关于折线图、柱状图、条形图等等这些图表的制作规范和设计要点,还有如何选择合适的可视化图表以及B端仪表盘该如设计,将会在之后为大家一一说明清楚,敬请期待!
参考文献:
AntVantv.vision![f3371c1f6d01b1411e1c9d71b91f3f3e.png](https://i-blog.csdnimg.cn/blog_migrate/c694ed2d5c96cf51bad2e5749e0cf181.jpeg)
![f73b3a283b3f46e2faae600d482c9a4b.png](https://i-blog.csdnimg.cn/blog_migrate/488eea300debbe100c9565c7b4283062.png)
![8cb56d8b945d59cc8b5b81a06f862ae3.png](https://i-blog.csdnimg.cn/blog_migrate/96f05bff43e47e53ab382b47195105b6.jpeg)