!!!###!!!title=图表组成——VisActor/VChart 教程文档!!!###!!!!!!###!!!description=本教程将详细介绍 VChart 的图表组成,帮助大家更好地理解 VChart。!!!###!!!

图表组成

本教程将详细介绍 VChart 的图表组成,帮助大家更好地理解 VChart。

术语定义

在深入了解图表组成之前,我们需要了解以下术语:

  • series - 图表主体,也称系列,包含一组图元及其对应的图表逻辑。
  • mark - 基本图形元素,也称基础图元,如点、线条形等。
  • region - 空间信息元素,关联一组或多组 series,帮助定位空间。
  • component - 组件,帮助图表阅读和交互的元素,如图例、坐标轴、提示等。
  • layout - 布局,管理图表元素的空间分布。
  • chart - 图表抽象概念,整合、管理数据、图元、组件、布局各种元素的管理者。

图表定义

逻辑层图表元素

我们将图表的逻辑层元素拆解为以下四个部分:

  • series 是图表主体,含一组图元和对应类型的图表逻辑。例如线图中,series 指点和线的集合以及线图所有的逻辑等。
  • component 提供辅助能力,帮助图表阅读和交互的组件,比如图例,坐标轴,tooltip,dataZoom 等。
  • region 是一个空间信息元素,它可以关联一组或多组 series,帮助 series 进行空间定位,同时 region 还是一个最小组合单元。
  • chart 是一个抽象概念,它是对图表的各种元素进行整合、管理布局的管理者,是图表逻辑层的核心上下文。

简单图表

简单图表是由一个 region、一个确定类型的 series、component 和一个管理图表逻辑的 chart 构成。以一个常见的折线图为例,其组成如下

组合图表

我们将组合图定义为由多个 region、多个确定类型的 series、component 和一个管理图表逻辑的 chart 构成,这里的 chart 我们将其封装为 type: 'common' 的组合图表。

在组合图中可以定义若干不同类型的子图。每个子图可以独立配置自己的数据和组件,所有子图默认关联在同一个 region。此时各个子图在 region 上是重叠的。我们以常见的柱线双轴图为例来详细介绍组合图表:

  • 首先如果我们需要创建组合图,我们需要声明 type: 'common',表示我们需要创建的图表类型为组合图
  • 在上面我们提到,chart 是整合、管理数据、图元、组件、布局各种元素的管理者,从逻辑层组成上他是由 region + series + layout 组成的,而柱线分别对应 'bar' 和 'line' 这两种系列类型,而默认所有的系列都是关联在同一个 region 的,所以这里我们不需要配置 region
  • 每个系列可以有自己的数据源,也可以直接将数据源配置在 chart 上,series 中通过 fromDataId 或者 fromDataIndex 来关联,当前的例子我们选择配置在 chart 上

如前所述,region 是空间信息元素,可以结合布局利用多个不同定位的 region 对画布进行空间划分;同时,组件也可以指定与 region 关联的关系,当一个组件关联了多个 region 时,会默认收集所有 region 下子图的数据维度进行展示,如下示例所示:

视图层图元素

图元 mark

图元是图表视图层对图形的定义,VChart 定义图表中的图元包括基础图元和组合图元。

基础图元包括:标记(symbol)、矩形(rect)、线条(line)、直线(rule)、弧形(arc)、面积(area)、文本(text)、路径(path)、图片(image)、3D 矩形(rect3d)、3D 弧线(arc3d)、多边形(polygon)等。

由多个基础图元进行组合就构成了组合图元,我们把基础图元和组合图元统称为图元。

逻辑层元素(如 series 系列)是由若干图元构成的,如面积图('area')系列,包括点、线、面积组成,对应的基础图元分别为:标记(Symbol)、线条(line)、面积(area)

图元的功能包括:

  • 灵活的图元样式配置,包括基础样式和交互样式。
  • 支持自定义图元,实现更丰富的定制化图表需求,见自定义图元章节。