1.3 图形语法
法国制图师 Jacques Bertin 在研究了大量的图表案例之后,发表了可视化图表设计与制图的奠基之作《the Semiology of Graphics》。
图表作为数据可视化的重要载体,各类统计图表的描述和绘制,有着非常坚实的理论基础,而且是数学描述的形式化系统,这就是图形语法《The Grammar of Graphics》的内容。这本书非常好地体现了“思维抽象”。
基本结构
Wilkinson 认为图形构造分为三个步骤,规范定义(Specification)、组装(Assembly)和显示(Display)。
规范定义描述了如何将不同的图形对象“翻译”为形式化语言,由六部分组成:
- Data:数据 ,从数据集中创建变量的数据操作
- Trans:转换 ,数据变量之间的转换,例如排序
- Scale:标度 ,标度转换,例如 log 转换
- Coord:坐标 ,定义坐标系统,例如极坐标
- Element:图形 ,及其视觉属性,例如点图和颜色
- Guide:参考 ,图形对象间的比较、分类和对齐等,例如图例
组装则是根据规范定义绘制出画面,需要处理几何、布局、美学属性等等问题。
展示则是指具体的显示枚举,如屏幕、纸张、视频等等,虽然我们现在大部分场景下是在计算机相关的平台上展示。由此看来,规范定义是整个图形语法的基础。
视觉编码
Specification 中关于 Element 图形的描述,其实在 1967 年已经有学者研究过了。Bertin 在 《Semiology of Graphics》一书中定量地阐述了图形符号与信息之间的对应关系,奠定了可视化编码的理论基础。Bertin 认为视觉编码由两部组成, 视觉标记 (Visual Marks)和用于控制标记视觉特征的 视觉通道 。
视觉标记:图形符号有点、线、面三种。
视觉通道则分为位置变量和视觉变量(Visual Variables)。位置变量 1 种,视觉变量 6 种。
- 位置变量包括二维平面上 x 和 y 位置,
- 视觉变量则包括尺寸 size_、明度 value、纹理 texture、颜色 color、方向 _orientation 和形状 shape。
实现
图形语法目前已经有了不少的实现,如开头提到的 ggplot2、vega、Bokeh、G2 等等。图形语法严格来说是一种思想,并不是一个真正意义上的实现标准,所以这些实现并不能互相兼容,有些实现为了兼顾实际的使用场景,也没有完全遵循图形语法的原始定义。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论