@程序员,你真的懂数据可视化吗?

Posted CSDN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@程序员,你真的懂数据可视化吗?相关的知识,希望对你有一定的参考价值。

@程序员,你真的懂数据可视化吗?

作者 | 张小墨

责编 | 郭   芮

随着“中台”的火热,数据中台逐渐为人所知,让很多原本隐于水下的岗位浮出了水面,比如数据产品经理、数据分析师等。“数据可视化”就是上述岗位的看家本领之一。所谓颜值即正义,数据可视化水平很大程度影响了工作输出质量。

那到底什么是数据可视化,如何实现数据可视化,作为产品经理,又该如何设计一个自研的可视化系统/工具呢?


@程序员,你真的懂数据可视化吗?

什么是数据可视化?


俗语有曰:字不如表,表不如图。

数据可视化就是通过易读、易懂、易操作的图表,给用户带来良好的视觉效果,降低用户的理解难度,从而实现用数字给用户讲个故事的工作目的。

简单理解,数据可视化=数据+可视化,数据内容是基础,可视化是用图形化的方式呈现,并借此传达信息的方式。

所以数据内容是可视化的内核,单纯追求可视化炫酷的意义并不大,拥有了优质的数据内容,可视化的意义方得以凸显。


@程序员,你真的懂数据可视化吗?

如何实现数据可视化?


实现数据可视化,步骤并不复杂,就像把大象放冰箱里,同样分成三步:数据准备、可视化设计与内容分发。

1、数据准备

数据分析的目的是为了解决问题,从而给公司与部门提供存在参考价值的分析内容,完成上述内容的基础就是数据,各种数据。

数据准备就是为了明确数据范围,减少数据量,通过采集、统计、分析与归纳,梳理出我们需要的数据结果表。

梳理出的数据内容,存储方式就是简单的使用Excel,也可以使用mysql或者Hive等等,这需要根据数据量和查询性能的要求来选择。

数据分析人员使用数据表时,通过单表查询或者多表关联的方式,完成其数据分析工作,就可以进入可视化设计环节了。

2、可视化设计

工欲善其事,必先利其器。

使用最频繁的可视化工具可能还是Excel,除此之外,还可以通过R语言、Python结合JS,通过代码的方式来实现,但是这些实现方式,学习与操作成本略高。

如今市面上可选的可视化工具有很多:Tableau、海致BDP、帆软FineBI、PowerBI、网易有数等等,通过基础的SQL能力结合鼠标的拖拽操作,就可以完成可视化设计。

@程序员,你真的懂数据可视化吗?

(海致BDP操作页)

用鼠标对数据表字段进行拖拽,就可以实现维度与指标的设置,还可以添加筛选条件,再结合SQL查询,便完成了可视化报表的制作。

而在工具越来越实用的前提下,考验我们的还有设计与审美能力,我们需要注意的有:

A、减少数字噪音,选择合适的图表

图表有很多选择,并不是复杂的图表才算上档次,大道至简,越是简单的图表,越是能让用户理解我们所要表达的内容。

简单总结一下:

  • 基本图表:折线图、散点图、条形图、柱状图、气泡图、组合图、面积图、饼图等;

  • 复杂图表:仪表盘、地图、流向地图、热力地图、树形图、框架图、漏斗图、甘特图、词云图、雷达图等。

选择图表时,需要了解不同图表的优劣以及它们适合的应用场景,尽量较少数据噪音,不要同时给予用户太多的内容。

但也不是不可以使用复杂图表,某些场景下复杂图表可能更能清晰的表达数据背后的含义,那用一下也未尝不可。

B、颜色搭配合理,多维度交互搭配

关于配色,仁者见仁,智者见智,有各种流派。

就笔者而言,更倾向于尽量少使用艳色调,多使用渐变色,确保辨识度,而需要对比的数据可以选择对比色或者互补色。

建议大家多去一些配色网站看看,如:Material Palette、Material UI Colors等等,也可以多去Dribbble、堆糖、花瓣或者千图这些网站溜达一下。

@程序员,你真的懂数据可视化吗?

(From:Material UI Colors)

看的越多,就会越有感觉,获得一种积累而产生的灵感。

至于说到多维度的交互,常见的有以下几种:

  • 筛选:通过设置过滤条件,实现不同维度数据的组合展现;

  • 钻取:实现不同层次的数据的分层展示,如上下级部门等;

  • 联动:通过一个图形的变化,联动其他图形的变化,如选择饼图中的某一个色块,则底部趋势表显示对应内容的趋势变化等。

当然还有很多的其他交互,只要可以为用户展示有效的数据内容,满足用户的业务需要,那就是好交互。

好看又好用,便是数据可视化的意义。

3、内容分发

数据可视化最终的产物是一张图数并茂的报表,我们可以通过很多方式传达给用户,最简单莫过于直接提供源文件或者截图,但这样过于笨重与低效。

数据平台类产品就承担了高效分发报表的责任,如BI平台、移动BI平台等,即实现了对报表查看权限的控制,又实现了对报表数据权限的控制。

我们也可以直接使用第三方工具直接完成内容分发,诸如Tableau之类的工具,都可以在本地化部署的基础上实现内容分发,不过出于功能扩展性与数据安全性等多方面考虑,不少公司依旧选择用自研的方式来打造自己的数据可视化系统。

下面,就让我们简单了解一下,我们该如何打造一款数据可视化系统/工具。


@程序员,你真的懂数据可视化吗?

可视化系统/工具的设计思路


该部分内容旨在简单介绍企业BI系统或大数据分析平台等数据可视化产品的设计思路,为产品设计人员提供参考的同时,也为感兴趣的读者剖析解密一下此类数据产品。

1、数据源管理

此类产品目前支持的数据源越来越多了,毕竟数据是进行数据分析与可视化的基础,无法连接数据源,下面一切的工作都将无法开展。

@程序员,你真的懂数据可视化吗?

(海致BDP数据源管理页)

在进行此类产品设计时,优先需要完成公司现有数据源的调研,然后再根据实际场景,选定项目所要支持的数据源。

因为不同的数据库存在不同的优劣势,可视化报表除了数据准确与样式交互合理,对于数据查询速度同样存在要求,我们不可能让用户进行一次点选操作后,等待数分钟。

比如,当数据量达到亿这个量级,MySQL就不太适合了,这个时候更适合选择一些分布式数据库,如HBase等。

根据平台数据量与公司现有能力,选定需要支持的数据源,这是此类产品设计的第一步。

2、图表库管理

图表库,就像“弹药库”,但是图表组件的封装是个持久战,耗时耗力,需要耗费大量的前端开发资源,不过我们可以使用ECharts这类开源图表库:

@程序员,你真的懂数据可视化吗?

(From:ECharts)

根据可视化需要,不断完善自研系统的图表库,可以让数据分析师使用可视化工具时,做到“信手拈来”,那就算是有所小成了。

3、报表开发与分发

报表开发与分发是数据可视化系统的核心功能,该部分在实现报表开发的同时,还需要完成权限(查看权限与数据权限)的配置。

实现该部分功能设计,有一个“捷径”,去学习市面上主流可视化工具的实现方式,他们详实的产品帮助文档都是自研产品设计的“灵感源泉”。

@程序员,你真的懂数据可视化吗?

(帆软FineBI首页)

至于权限的控制,也有很多方式,比如做单点读取用户权限表等,对数据权限的控制,是数据安全的必备项。

通过以上步骤,我们就完成了自研可视化工具的产品设计,但该部分涉及内容较多,作为简单介绍,本文不再过多展开。


@程序员,你真的懂数据可视化吗?

结语


数据可视化,需要以用户为中心,以用户体验为基础,输出可视化报表,为业务赋能。

在公司不具备或者没有必要进行可视化工具自研的情况下,大量的可视化工具可供诸君选用,正所谓:君子生非异也,善假于物也。

声明:本文为作者投稿,版权归其所有。

【END】
@程序员,你真的懂数据可视化吗?


☞ 

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢

以上是关于@程序员,你真的懂数据可视化吗?的主要内容,如果未能解决你的问题,请参考以下文章

天天在做图表,其实你根本不懂数据可视化

天天在做图表,其实你根本不懂数据可视化

那么多种数据可视化图表,你选对了吗?

你真的懂Redis的5种基本数据结构吗?

三教你搞懂渐变堆叠面积图《手把手教你 ECharts 数据可视化详解》

你真的懂Redis的5种基本数据结构吗?