(这是我在部门内部分享图形语法的文字稿,稍微修改掉了公司内部相关的东西)

引子

在 Excel 中如何选择一个图表。

思考

如何抽象,定义最基本的元素,在这之上描述所有的图表(或者尽量接近这个目的)

核心问题:数据 => 图表

The Grammar of Graphics

Leland Wilkinson 写于 1999 年(第二版: 2011 年)

基本思想

基本元素:

核心抽象:

数据到图形属性的映射

图形的属性:位置,颜色,大小,透明度等等

映射

通过数据到图形属性的映射的方式构建一个气泡图:

气泡图的图形属性:

  1. 气泡的位置(x 坐标,y 坐标)
  2. 气泡的颜色,
  3. 气泡的大小,

组合

几何标记的组合

雷达图: 极坐标下的折线图 饼图: 极坐标下的柱状图

举例 2:

图形语法思想的实现

  • R语言最流行的绘图包 ggplot2
  • G2: 命令式编程,API 类似 ggplot2.
  • vega/vaga-lite: JSON 配置生成图表,Python, JS 等多语言实现, vega-lite 的柱状图示例
  • Tableau: 可视化的实现,非常强大,无须写代码就可以生成各种图表。

思考通用可视化系统

  • 映射的交互方式
  • 可组合性
  • 通用性
  • 如何取数
  • why not
  • …