数据可视化
常用可视化视图
- 文本表
- 热力图
- 地图
- 符号地图
- 饼图
- 水平条
- 堆叠条
- 并排条
- 树状图
- 圆视图
- 并排圆
- 线
- 双线
- 面积图
- 双组合
- 散点图
- 折线图
- 直方图
- 条形图
- 箱线图
- 盒须图
- 蜘蛛图
- 甘特图
- 靶心图
- 气泡图
- 等等
常用展示情况
- 分布(Distribution)
- 时间相关(Change Over Time)
- 局部/整体(Part To Whole)
- 偏差(Deviation)
- 相关性(Correlation)
- 排名(Ranking)
- 量级(Magnitude)
- 地图(Spatial)
- 流动(Flow)
可视化视图的选择
你需要思考的是,你的用户是谁,想给他们呈现什么,需要突出数据怎样的特点,以及采用哪种视图来进行呈现
比如,你想呈现某个变量的分布情况,就可以通过直方图的形式来呈现
如果你想要看两个变量之间的相关性及分布情况,可以采用散点图的形式呈现
一个视图可能会有多种表达的目的,比如散点图既可以表明两个变量之间的关系,也可以体现它们的分布情况
同样,如果我想看变量的分布情况,既可以采用散点图的形式,也可以采用直方图的形式
所以说,具体要采用哪种视图,取决于你想要数据可视化呈现什么样的目的
可视化视图的分类
按照数据之间的关系,我们可以把可视化视图划分为4类,分别是比较、联系、构成和分布
- 比较:比较数据间各类别的关系,或者是它们随着时间的变化趋势,比如折线图
- 联系:查看两个或两个以上变量之间的关系,比如散点图
- 构成:每个部分占整体的百分比,或者是随着时间的百分比变化,比如饼图
- 分布:关注单个变量,或者多个变量的分布情况,比如直方图
同样,按照变量的个数,我们可以把可视化视图划分为单变量分析和多变量分析
可视化工具
- 商业智能分析
- Tableau - 收费不低。适合BI工程师、数据分析分析师
- PowerBI - 微软出品的,可以和Excel搭配使用
- FineBI - 中国的帆软出品,针对国内使用更加友好,同时也倾向于企业级应用的BI
- 可视化大屏类
- DataV - 一款可视化的工具,天猫双十一大屏就是用它呈现的
- DataV本身有一些免费的模板,你可以直接通过模板来创建,不过一些特殊的控件和交互效果还是需要购买企业版才行
- FineReport - 中国的帆软出品,可以做数据大屏,也可以做可视化报表
- 在很多行业都有解决方案,操作起来也很方便。可以实时连接业务数据,对数据进行展示
- DataV - 一款可视化的工具,天猫双十一大屏就是用它呈现的
- 前端可视化组件
- Canvas和SVG是HTML5中主要的2D图形技术,WebGL是3D框架
- Canvas适用于位图,也就是给了你一张白板,需要你自己来画点,ECharts这个可视化组件就是基于Canvas实现的
- SVG - 中文是可缩放矢量图形,使用XML格式来定义图形的,相当于用点和线来描绘了图形,相比于位图来说文件比较小
- 任意缩放都不会失真,经常用于图标和图表上
- 动态交互性实现起来也很方便,比如在SVG中插入动画元素等
- WebGL是一种3D绘图协议,能在网页浏览器中呈现3D画面技术,并且可以和用户进行交互
- Three.js就是基于WebGL的框架
- ECharts - 百度的开源项目,一直都有更新,使用的人也比较多。它作为一个组件,可以和DataV、Python进行组合使用
- D3 - Data-Driven Documents,是一个JavaScript的函数库,D3也常使用D3.js来称呼
- 它提供了各种简单易用的函数,你只需要输入几个简单的数据,就能够转换为各种绚丽的图形
- Three.js - 封装大量WebGL接口,便于使用JavaScript来实现3D效果
- AntV - 蚂蚁金服出品的一套数据可视化组件,包括了G2、G6、F2和L7,一共4个组件
- G2 - The grammar Of Graphics,也就是一套图形语法,集成了大量的统计工具,而且可以让用户通过简单的语法搭建出多种图表
- G6 - 一套流程图和关系分析的图表库
- F2 - 适用于移动端的可视化方案
- L7 - 提供了地理空间的数据可视化框架
- 编程语言
- Python - Matplotlib、Seaborn、Bokeh、Plotly、Pyecharts、Mapbox、Geoplotlib、ggplot等
- 其中使用频率最高,最需要掌握的就是Matplotlib和Seaborn
- Matplotlib是Python的可视化基础库,作图风格和MATLAB类似,所以称为Matplotlib
- 一般学习Python数据可视化,都会从Matplotlib入手,然后再学习其他的Python可视化库
- Seaborn是一个基于Matplotlib的高级可视化效果库,针对Matplotlib做了更高级的封装,让作图变得更加容易
- R - 自带的绘图包Graphics以及工具包ggplot2、ggmap、timevis、plotly等
- 其中ggplot2是R语言中重要的绘图包,这个工具包将数据与绘图操作进行了分离,所以使用起来清晰明了,画出的图也漂亮
- Python - Matplotlib、Seaborn、Bokeh、Plotly、Pyecharts、Mapbox、Geoplotlib、ggplot等
QuickBI组件
- 想要展示什么?
- 汇总指标
- 比较
- 趋势
- 联系
- 分布
- 构成
- 空间
- 有几个变量?
- 单变量
- 多变量
- 动态还是静态?
- 联系
- 2个变量:散点图
- 3个变量:气泡图
- 构成
- 随时间变化
- 少数周期
- 仅相对差异:堆积百分比柱状图
- 相对和绝对差异:堆积柱状图
- 多周期
- 仅相对差异:堆积百分比面积图
- 相对和绝对差异:堆积面积图
- 少数周期
- 静态
- 占总体的比例:饼图
- 累计或扣减到总计:瀑布图
- 构成的构成:复合堆积百分比柱状图
- 随时间变化
- 分布
- 单个变量
- 少数数据点:直方图
- 多数据点:正态分布图
- 2个变量:散点图
- 3个变量:曲面图
- 单个变量
- 比较
- 基于分类
- 每项目2个变量:不等宽柱状图
- 每项目1个变量
- 多种分类:表格或内嵌图表的表格
- 少数分类
- 多个项目:条形图
- 少数项目:柱状图
- 基于时间
- 多周期
- 循环数据:雷达图
- 非循环数据:折线图
- 少数周期
- 单个或少数分类:柱状图
- 多种分类:折线图
- 多周期
- 基于分类
指标类组件
- 使用场景:多用于某时间段汇总、完成进度、指标及趋势等场景,重点突出企业/业务(北极星指标),可通过指标的变化快速判断是否有经营异常
- 计算能力:一键配置高级计算同环比、进度完成率
- 可视化效果:显示图标logo、自定义背景、字体大小、颜色等
- 备注能力:可自定义文字/指标等备注信息,可以自定义跳转外链路径,实现数据与其他系统之间的交互
表格类组件
- 使用场景:用于多维度、多指标交叉分析场景、通过多指标交叉分析并进行决策判断
- 计算能力:一键配置高级计算同环比、累计计算、百分比、占比、总计小计
- 可视化效果:表格主题、树形展示、冻结换行、列宽等
- 备注能力:可自定义文字/指标等备注/尾注信息,可自定义跳转外链路径,实现数据与其他系统之间的交互
- 事件能力:数据反馈填报、钉钉对话唤起等事件
- 条件格式:文本/背景、图标、色阶、数据条等条件格式让数据更易读
- 交互操作:维度/指标筛选、表格内筛选等
趋势类组件
- 使用场景:显示随时间(根据常用比例设置)而变化的连续数据,因此非常适合于显示在相等时间间隔下数据的趋势
- 比如在折线图中,我们可以得出数据随时间变化的结论,例如数据随时间递增、递减、周期性变化、指数性增长等,也可以进行多条折线图的对比
- 计算能力:一键配置同环比、累计计算,智能辅助线、趋势线、预测走势、异常点检测、波动分析
- 可视化效果:支持线图、面积图、堆积面积、百分比堆积效果,可显示标签、图例、缩略轴等配置
- 数据对比标注能力:支持对数据进行同期对比、并进行数值标注
比较类组件
- 使用场景:显示不同维值的数据聚合结果或占比情况,适用于不同维度结果的对比、占比、排行
- 计算能力:一键配置同环比、累计计算、智能辅助线、趋势线、预测走势、异常点检测、波动分析
- 可视化效果:支持柱状图、堆积柱状图、百分比堆积柱状图,可显示标签、图例、缩略轴等配置
分布类组件
- 使用场景:维度值基于指标的汇总或占比结果进行分布显示,用突出、放大等效果进行数据结果表达,多用于维度值的分布
- 交互操作:可切换指标,配置图表内筛选条件
- 可视化效果:饼图、环形图、雷达图等,并自定义标签显示等
- 备注能力:可配置手工、指标等备注/尾注信息,可配置跳转链接至外部系统进行操作交互
关系类组件-漏斗图
- 使用场景:适用于业务流程比较规范、周期长、环节多的单流程单向分析,通过漏斗各环节业务数据的比较能够直观地发现和说明问题所在的环节,进而做出决策
- 漏斗图用梯形面积表示某个环节业务量与上一个环节之间的差异
- 漏斗图从上到下,有逻辑上的顺序关系,表现了随着业务流程的推进业务目标完成的情况
- 漏斗图适用于有业务含义的流程转换对比,不适用于无关联类别的对比
- 计算能力:自动进行转化率计算、指标排序拆解
- 可视化效果:可基于时间轴进行动态播放
关系类组件-散点图
- 使用场景:用两组数据构成多个坐标点,考察坐标点的分布,判断多变量之间是否存在某种关联或总结坐标点的分布模式
- 作用:用于提供关键信息
- 变量之间是否存在关联趋势,如果存在关联趋势,是线性还是曲线的
- 如果有某一个点或某几个点偏离大多数点,也就是离群值,通过散点图可以一目了然,从而可以进一步分析这些离群值是否可能在建模分析中对总体产生很大影响
- 可视化效果:可基于时间轴进行动态播放
空间类组件
- 使用场景:多用于空间分布的数据展示,比如行政区、地级市、街道、经纬度等
- 可视化效果:支持热力、飞行、标记点、区块等样式地图
- 交换操作:可圈选放大地图、指标切换、组件筛选