数据可视化的本质是:将数据映射到图形,同时将一些附加信息传达给用户。数组
一个可视化框架须要四部分:
* 数据处理模块,对数据进行加工的模块,包括一些数据处理方法。例如:合并、分组、排序、过滤、计算统计信息等
* 图形映射模块,将数据映射到图形视觉通道(后面章节介绍)的过程。例如:将数据映射成颜色、位置、大小等
* 图形展现模块,决定使用何种图形来展现数据,点、线、面等图形标记
* 辅助信息模块,用于说明视觉通道跟数据的映射关系,例如:坐标轴、图例、辅助文本等markdown
G2实现了上面的四个模块,而且对着四个模块作了更进一步的细分:框架
这些细分的模块在单独的章节中各自介绍:ide
可视化从数据映射到图形须要如下流程:函数
G2的数据映射到图形的过程总体上遵循这个流程,可是细节上有所增长:网站
几个大的流程:ui
小流程的简介:spa
过滤列,防止传入数据的列数过多,仅过滤出参与语法的列3d
var data = [{a: '1',b: 'b',c: 'c1',d: 10}] // 数据中存在a,b,c,d四列 。。。 chart.point().position('a*b').color('c') // a,b,c参与了语法,因此d字段被过滤掉
数据调整,为了更清晰的展现数据,图形有时候须要层叠、分组、散开等,此时须要对数据进行调整code
训练度量度量包含了数据字段的信息,例如连续字段的最大值、最小值等信息,分类字段包含的分类,数据一旦进行调整,那么度量中的信息再也不准确,因此须要进行度量的训练
计算图形须要的点,绘制图形时须要多个点,例如绘制一个柱状图,须要4个点,若是将坐标系转换,仍然是这4个点,仅仅是链接点的方式不一样,就会生成不一样的图表
映射,将数据映射到图形空间的视觉通道
更详细的数据流程介绍和示例在后面的各种图表中分别展现
咱们能够看到,在数据进行图形映射的流程中,数据类型很是重要,不一样的数据类型影响不一样的映射方式,下一章节咱们介绍数据分类和度量
G2 网站: https://g2.alipay.com/