遇见大数据可视化 — 图表设计(二)

作者:nancygong

遇见大数据可视化之图表设计系列文章主要对数据可视化的基本元素——图表进行基础研究,之前在 图表设计(一)里主要阐述了图表基础介绍、图表发展史、图表设计过程、图表的分类、图表选择方法以及图表的视觉元素和层次。

那怎样的视觉元素结合能产出好的图表?好的图表应该具备哪些条件?图表的设计方法、设计原则又是什么?本文将逐一详细阐述。

好的图表设计

什么样的图表设计才是好的、合理的?图表是对数据的可视化呈现。图表能对枯燥、复杂的数据,根据传达目的,提炼成更简洁、直观的视觉信息。所以图表设计首先要以传达内容为主,为数据而设计。好的图表设计一定是从数据传达目标出发,能清晰的表达内容,简洁易懂;轻量的视觉层次,重点突出数据目标,减少用户的思考时间和理解误差;还应具有美观性,图表元素之间的协调美更能吸引用户,让阅读更加轻松、流畅。

图表设计方法

图表设计方法其实跟产品设计方法类似,以目标导向为例,先分析产品、用户从而明确产品目标,根据产品目标推导出设计原则,再根据设计原则最终制定并验证设计方案。同理在图表设计中首先要理解数据和分析用户,根据分析结果明确数据目标,从而推导出设计原则最终制定设计方案,这样的方法过程更能做到有理有据,方便反复验证避免出错,到达最有价值的效果。

理解数据、分析用户

做好图表设计的前提就是理解数据,数据听起来很复杂,数据类型根据特性可分为定性的、定量的、定时的、定位的。有效数据要通过数据处理(获取数据、整理数据、清洗分析数据)来获得,获得有效数据后对其进行理解分析,这些数据是用来做什么的?里面有哪些已知的属性?提取数据表达的关键纬度,确定数据之间的关系,寻找数据中的价值。

如下图是一组简单的数据,可以分析该数据主要是表示公司历年的三种产品的销售额度,数据维度有时间、属性、数量,数据之间的关系有对比、构成、分布。(数据关系在图表设计一的图表分类和选择中有具体阐述)

分析用户,由于用户的角色不同所以对数据的关注重点也会不同,分析用户的特征、使用场景及用户想通过数据来解决什么问题,然后根据具体用户的目的确定相应数据表现的侧重点。结合理解数据结果和用户分析情况可明确数据需要展示的具体目的,挖掘数据价值。

如下图同一组数据,如果用户是大老板则会倾向看历年产品的销售额趋势变化,那重点就放在展示历年产品销量趋势上如图一、图二;如果是某产品的产品经理会更倾向去看自己产品和其他产品的对比关系及本产品的销量变化,如图三在与其他产品对比时需要高亮突出该产品突出重点,或者图四着重查看改产品的历年销量对比关系,清晰的发现产品销量变化情况,为产品改进方向提供一定价值。

图表设计原则

理解数据分析用户明确数据目标之后,就有了一个图表设计的内容目标,根据这个具体的目标来推导图表的设计原则,且通过前面好的图表设计分析可知道,虽然内容目标会有不同但是在设计上都需要做到内容表达清晰,视觉表现轻量、美观,让用户更快捷精准的从图表中理解数据获取价值。

“清晰”的内容表达,简洁易懂,受众能一眼洞察想要的数据信息,从而更好的洞见数据中的商业价值。

“轻量”的视觉编码,展示想要突出的重点,弱化多余的抢主题的视觉元素,减少受众的思考时间和理解误差。

“倾心”的视觉表现,作为可视化的呈现应该是要有美感,具有愉悦感的。一个图表中的各种元素的协调排布和正确的视觉层次关系,和谐合理的配色,能增强信息的吸引力。

小结

图表设计一、二分别阐述了图表基础介绍、图表发展史、图表设计过程、图表的分类、图表选择方法、图表的视觉元素和层次;好的图表设计、图表设计方法、图表设计原则。

根据设计原则应怎样组合视觉元素输出合理的图表设计?图表设计中有哪些设计误区?图表有哪些交互方式?将在系列文章图表设计(三)中进行详细分析。

【遇见大数据可视化】系列文章

遇见大数据可视化 - 基础研究

遇见大数据可视化 - 来做一个数据可视化报表

遇见大数据可视化 – 人人都能做数据可视化

遇见大数据可视化 – 图表的视觉系统感知

遇见大数据可视化 – 图表设计(一)

遇见大数据可视化 – 可视化系统搭建

遇见大数据可视化 – 未来已来,变革中的数据可视化

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏海说

Java应用中常见的JDBC连接字符串(SQLite、MySQL、Oracle、Sybase、SQLServer、DB2)

Java应用中常见的JDBC连接字符串 Java应用中连接数据库是不可或缺的,于是便整理一些可能用到的JDBC的jar包及其相匹配的URL,以备日后查阅。 1)...

2960
来自专栏DT乱“码”

连接数据库操作

package com.chendongj.dbUtil; import java.sql.Connection; import java.sql.Drive...

2139
来自专栏成长道路

JDBC动态SQL语句连接orcale数据库的工具类

import java.sql.Connection; import java.sql.DriverManager; import java.sql.P...

2700
来自专栏c#开发者

简体-繁体内码转换API

 public class ANSIConversionAPI     {         const int SIMPLIFIED_CHINESE =...

3695
来自专栏Pulsar-V

C#下各种获取时间的姿势

直接贴代码吧 DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21...

3416
来自专栏用户画像

java 遍历某月的所有日期

1022
来自专栏james大数据架构

数据自定义格式化

如 <asp:Label ID="lblOne" runat="server" Text='<%# Bind("rq", "{0:yyyy年M月d日}") %>...

1999
来自专栏calmound

JDBC

import static org.junit.Assert.*; import java.sql.Connection; import java.sql.D...

2754
来自专栏张善友的专栏

Using sqlite with .NET

The other day I found that there is a .NET wrapper for sqlite. sqlite is a very ...

2488
来自专栏码匠的流水账

聊聊EurekaRibbonClientConfiguration

spring-cloud-netflix-eureka-client-2.0.0.RELEASE-sources.jar!/org/springframewor...

1431

扫码关注云+社区