如何评价蚂蚁金服新一代数据可视化引擎 G2 ？
谢邀 @罗宸 。一句话回答，G2只是图形语法（The Grammar of Graphics）的“又”一个实现。 为了详细回答这个问题，让我们先拨开“蚂蚁金服”、“新一代数据可视化引擎”这些光环，近距离看一下G2背后的理论基础，也就是图形语法，The Grammar of Graphics。 The Grammar of Graphics代指东西中的一个就是Leland Wilkinson所著的这本书The Grammar of Graphics (豆瓣)。估计一般人知道的不多，只有专门搞可视化或者统计图形的人才知道，但就算知道，读过这本书的人也应该不多（将近700页的厚书）。俺稍微通读过一遍这本书。这本书向我们介绍了看待统计图形的一种形式化方法，也就是“图形语法”。 图形语法与一般基于分类的图表理论有很大不同。比如说，我们知道有柱状图、折线图、散点图、饼图等等这些图表，但是这个世界上是不是只有这些图表了呢？当然不是，比如说还有堆叠柱状图、环状图、南丁格尔玫瑰图、雷达图……等等等等。分类是分不过来的。更可怕的是，图表之间还可以进行“组合”，比如说一张图表里既有柱子又有折线，那对这种组合图形怎么分类呢？图形语法提出，不光光数据是有结构的，图形也是有结构的。图形语法首先描述清楚了（统计）图形的结构，并提出了一种组合方法，从而可以描述很多、很多、很多种传统与非传统甚至是没有出现过的图表，包括但不限于柱状图、折线图……等等。 做一个比喻。比如说我们知道有牛、羊、马、鹿、狗、猫、兔等等这些动物。这是一种对动物基于分类的认知。但假设突然基因变异，出现一个四不像，那这个时候分类就起不了作用了。但如果有一种“动物语法”，规定了动物的结构，比如说有头、躯干、四肢、尾巴，头上又有多少只眼睛、多少个鼻子、有没有胡子、有没有鬃毛，眼睛是什么颜色的，鼻子是什么形状的，那么这个时候我们对四不像也可以正确的进行认知：我虽然不知道它的名字，但是我知道它有头、躯干、四肢、尾巴，头上有N只眼睛、M个鼻子、没有胡子、没有鬃毛，眼睛是蓝色的，鼻子是扁的，它虽然没有名字，但我知道它就是它！ 另外，既然名字中带有“语法”，那么这其实跟程序语言也有一定关系。比如我们在写C、Python的时候，需要遵循这门语言的语法，才能写出正确的程序。所谓的语法，可以是认为是一种生成规则，是一门形式化系统。图形语法只不过定义了一种合理的统计图形的生成方式，仅此而已。由于数据对统计图形的重要性，图形语法中也对数据的操纵也定义了一套代数理论，但在此不再赘述。 对图形语法的简介到此为之。然后，我们是不是会好奇，图形语法到底是怎么来的？为了回答这个问题，我们首先来认识一下图形语法的作者，Leland Wilkinson。这哥们从上世纪80年代就开始开发统计软件包SYSTAT，然后把它卖给了大名鼎鼎的IBM的SPSS统计学软件，并为SPSS工作了十年之久。SPSS中用于描述图表的语言叫做GPL（Graphics Production Language，http://www.helsinki.fi/~komulain/Tilastokirjat/IBM-SPSS-GPL-Reference-Guide.pdf），便是Wilkinson的图形语法最初的实现。在一开始开发统计图形库的时候，Wilkinson由于碰到很多神烦的问题，特别是统计图形的表示问题，“一怒之下”便发明了图形语法。经过不断的实践与经验积累，图形语法便逐渐成熟起来。在他的这本书里，Wilkinson用一种写研究论文的方式撰写了这本书，有各种引用、各种数学上的形式化定义，可以认为，这本书是可视化与统计图形学术界一本里程碑式的经典文献。 知道了图形语法是什么，以及它是从哪里来的、怎么来的，我们再回过头来看G2。G2所宣称的“新一代数据可视化引擎”，其实是有一定道理的。因为现在市面上所流行可视化库，大部分是类似HighCharts、ECharts、Google Charts等这种基于图表分类的可视化库。一是逼格较低，二是用户无法表达库作者没有预先设置好的图表。另外一个具代表性的是D3可视化库，但D3略偏向底层，学习曲线也略陡峭，因此，基于图形语法的可视化引擎还是有一定的优势的。因此，G2作为图形语法的又一种实现，让枯燥无味的理论从高贵的学术殿堂走出来服务广大劳动者，可以算得上是“新一代数据可视化引擎”。 但是，别忘了“又”字。GPL就不说了，多少年前的东西了，而且还不是免费的。学术圈里那几个万年炒冷饭的也不提了。这里只举几个俺觉得有实际价值的项目： 还有一些不太成熟的就不举例子了，比如说Clojure也有基于图形语法的可视化库。然后除了阿里，某些公司内部也有未公开的基于图形语法的可视化库。其实，要实现一个基于图形语法的可视化库并不算太难，但难的在于细节、在于成熟度。就像是一个刚诞生的产品，与一个经过N次迭代的产品，其实是有质的区别的。而在俺看来，蚂蚁金服的G2只是基于图形语法的可视化库当中的“又”一个（目前算不上太成熟的）成员。 2017.4.16更新：经过好几个版本的迭代，目前G2看起来也是越来越成熟，也希望该项目能够坚持走下去，成为国内可视化产品中的奇葩（请注意这是褒义词：）。