使用 QuickBI 搭建酷炫可视化分析
随着各行各业大数据的渗透,BI 类数据分析需求与日俱增,如何让可视化更好的展现数据的价值,是 BI 类产品一直努力的方向。对此国内外的BI产品都有自己的方法,如国外大牌的 PowerBI、Tableau,还有国内的 FineBI、BDP、Quick BI 他们都提供了丰富度可视化能力,但对于新手而言,有了数据之后如何选择合适的图表?如何配置酷炫夺目的图表?多个图表如何组织有故事的报表?亦或是你想了解可视化背后的技术原理,本文将一一为你解答。
图表开发
要使用 Quick BI 做可视化分析,只需要简单的三步(开启试用后方可进入下方链接,点击此处开始试用)
- 连接数据源,打开 http://bi.aliyun.com/workspace/datasource 轻松配置。目前Quick BI已经支持包括 Mysql/PostgreSQL/SQL Server/Hive 在内的绝大多数数据源类型
- 新建数据集,打开 http://bi.aliyun.com/workspace/schema 选择数据库中一个表创建数据集,数据集也支持多个表之间雪花模型和星型模型关联
- 创建仪表板,接下来就可以开始选择需要的图表
首先看一下 Quick BI 图表的种类:

如上图,Quick BI目前共提供十三类三十多种图表,如柱状图包含普通柱图、堆积柱状图、百分比堆积柱图、条形图、堆积条形图、百分比堆积条形图6种,能涵盖 BI 分析中的绝大多数场景。
Quick BI还能轻松构建线柱组合图。如下图,为了分析服装类目利润和访客数及销量关系,利润使用柱状展示有利于突出主次关系。
鼠标hover到图例上能高亮指定数据,适合维度过多情况下单个维度分析。
此外,Quick BI 相对于其它图表,会对大数据量场景做适配,避免文案覆盖或展示不全。如下图,当饼图用例过多时,会对图例自动开启滚动条展示,Tooltip 显示位置优化排布:
此外还有来源去向图,适合分析页面间调整和用户行为路径:
QuickBI 提供这么多图表展示方式,但如何选择合适的图表类型能?这就需要根据数据特征出发,掌握这一技能需要练习和经验,对于新手,你可以参考如下图表选择流程图。
参考至 Andrew Abela 博士的图表建议(http://extremepresentation.typepad.com/blog/2006/09/choosing_a_good.html)
图表实现原理
介绍完图表类型和使用方法,如果你对图表技术原理感兴趣,可以看接下来的图表实现原理分析。
图表框架从上到下共分为4层:
1. 组件层
基于图表展示方式的不同,交互有很大差别,因此将线图、柱图、面积图、条形图、饼图等归位基础图表,他们基于常规的笛卡尔坐标系或极坐标系构建;交叉表、矩阵树图、漏斗图、来源去向图等交互各异,需要针对性优化,归为富交互图表;地图需要基于LBS地理位置数据,目前内置中国省市县地图,可以在不同级别上钻和下钻。最后一类是未来计划上线的3D图表。结合着目前VR/AR设备的兴起,3D图表在视觉效果上有更好的体验,未来计划发力。
2. 图表交互层
静态图表是呆板的,灵活的交互就像让图表说话一样提高数据分析的效率和体验,对于OLAP类数据来说钻取联动跳转是基本交互,这些所有支持类图表可以统一实现。坐标轴Axis、图例、提示框Tooltip在多个图表都支持,封装成通用模块方式提供。对于大数据量而言,这3个通用模块都需要解决小空间下如何展示大量文案的问题,Quick BI 内部基于很多算法来做展示优化,如当坐标轴数量过多时,通过对比坐标轴宽度和文案宽度,自动计算坐标轴文案倾斜夹角,避免文案重叠。对于数据量过大情况,实现自动抽样展示。
3. 数据配置层
数据主要分为两类:『展示数据』和『图表配置数据』。
展示数据是业务中的原始数据,不会因为图表类型的不同而变化。
图表配置数据又分为『用户产生的图表配置』和『图表默认配置』,最终图表展示是以二者合并之后为准。
由于上层图表交互只负责展现,因此需要的数据结构也是为了高效展现,接口提供的数据是为了方便存储,因此二者很多情况下不一致,所以就需要数据转换层做数据格式适配。
这一层是整个数据处理的核心,并不仅仅是转换方法,数据结构的设计同样是关键,需要兼顾到不同图表类型横向和未来扩展纵向的多重考量。
4. 底层依赖
由于可视化图表的多样性,一套框架或绘制方法很难高效满足业务需求,因此底层基于G2、Three.js、Leaflet 三个基础库,这三者有不是现成的图表库,都需要具体实现图表。类似于面粉和面条的关系,这三者相当于不同口味的面粉,最终开发的图表像面条。
G2 是一套基于可视化编码的图形语法,以数据驱动,适用于基础图表;Three.js 是WebGL的封装,提供高效API开发3D图表;Leaflet 适用于开发交互式地图类图表。
总结
以上是 Quick BI 图表的介绍、用法和技术原理。Quick BI 正是凭借阿里巴巴在大数据领域多年的经验,不断打磨出来的一款 BI 产品。希望他能帮你从杂乱的数字转换为酷炫的图表,帮你发掘数据背后的价值。
原文链接
更多技术干货 请关注阿里云云栖社区微信号 :yunqiinsight
使用 QuickBI 搭建酷炫可视化分析的更多相关文章
- 炫酷的可视化工具包——cufflinks
前言 学过Python数据分析的朋友都知道,在可视化的工具中,有很多优秀的三方库,比如matplotlib,seaborn,plotly,Boken,pyecharts等等.这些可视化库都有自己的特点 ...
- Android绘图机制(四)——使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美
Android绘图机制(四)--使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美 这里为什么不继续把自定义View写下去呢,因为最近项目 ...
- TensorSpace:超酷炫3D神经网络可视化框架
TensorSpace:超酷炫3D神经网络可视化框架 TensorSpace - 一款 3D 模型可视化框架,支持多种模型,帮助你可视化层间输出,更直观地展示模型的输入输出,帮助理解模型结构和输出方法 ...
- OneAPM大讲堂 | 监控数据的可视化分析神器 Grafana 的告警实践
文章系国内领先的 ITOM 管理平台供应商 OneAPM 编译呈现. 概览 Grafana 是一个开源的监控数据分析和可视化套件.最常用于对基础设施和应用数据分析的时间序列数据进行可视化分析,也可以用 ...
- IntelliJ IDEA 新版发布:支持CPU火焰图,新增酷炫主题
JetBrain 是一家伟大的公司,一直致力于为开发者开发世界上最好用的集成开发环境 就在上周,JetBrain 公司发布了 Java 集成开发环境 IntelliJ IDEA 最新版本 2018.3 ...
- 使用NestedScrollView+ViewPager+RecyclerView+SmartRefreshLayout打造酷炫下拉视差效果并解决各种滑动冲突
使用NestedScrollView+ViewPager+RecyclerView+SmartRefreshLayout打造酷炫下拉视差效果并解决各种冲突 如果你还在为处理滑动冲突而发愁,那么你需要静 ...
- 【翻译】用 Expression Blend 创建酷炫的 Button
原文:Creating “Cool” Buttons with Expression Blend Author: Alex 在本文中,我们将考虑在Expression Blend用几种方法来创建酷炫的 ...
- Android常用酷炫控件(开源项目)github地址汇总
转载一个很牛逼的控件收集帖... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.Gri ...
- 【Android】 给我一个Path,还你一个酷炫动画
本篇文章已授权微信公众号 hongyangAndroid (鸿洋)独家公布 转载请标明出处: http://blog.csdn.net/zxt0601/article/details/53040506 ...
随机推荐
- csp-s模拟100,101T1,T2题解
题面:https://www.cnblogs.com/Juve/articles/11799325.html 我太蒻了只会T1T2 组合: 欧拉路板子?不会呀... 然后打了个优化,防止暴栈 #inc ...
- 大杀器Bitset
其实并不怎么会用,有一次有位学长提到了这个名字,就这么取题目了. 1.BZOJ 3687 简单题 求子集的算术和的异或和 http://www.lydsy.com/JudgeOnline/proble ...
- day22_1-课前上节复习+os模块
# ********************day22_1-课前上节复习+os模块 *******************# ********************day22_1-课前上节复习+os ...
- HTTP协议基础篇(帮助理解)
用uml 来描述一个功能是怎样按照时间的顺序完成的 实际的需求(配置网站/配置虚拟主机) 步骤 (1) 打开 apache/conf/httpd.conf 文件 (2)找到hosts文件 c:/win ...
- neo4j中cypher语句多个模糊查询
总结一下经验: neo4j中,cypher语句的模糊查询,好像是个正则表达式结构. 对于一个属性的多个模糊查询,可以使用如下写法: 比如,查询N类型中,属性attr包含'a1'或者'a2'的所有节点. ...
- java开发系列-服务器tomcat
概述 tomcat是Apache组织提供的,中小型的免费的支持Servlet和JSP规范的服务器. tomcat安装配置 下载 官方下载地址 下载,绿色版直接解压到指定目录就好. 启动Tomcat 双 ...
- Linux操作系统系列-Linux基础
概述 先了解下unix,unix是一个多任务.多用户的操作系统,并且是收费的操作系统. 1991年的10月5日,林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的 ...
- atom的使用
一,Atom介绍 Atom 是 Github 开源的文本编辑器,这个编辑器完全是使用Web技术构建的(基于Node-Webkit).启动速度快,提供很多常用功能的插件和主题,可以说Atom已经足以胜任 ...
- Python全栈开发:模块
模块,用一砣代码实现了某个功能的代码集合. 参考资源:http://www.cnblogs.com/alex3714/articles/5161349.html 类似于函数式编程和面向过程编程,函数式 ...
- [记录]学习树莓派3B接DHT11和LCD1602和修改树莓派时区
前提 树莓派系统安装好 apache web 服务器,如未安装,可在树莓派内执行sudo apt-get install apache2 进行安装apache 也可以通过命令获取GPIO信息: gpi ...