!!!###!!!title=旭日图——VisActor/VChart 教程文档!!!###!!!!!!###!!!description=[\[配置项\]](../../../option/sunburstChart)!!!###!!!

旭日图

[配置项]

简介

旭日图是一种基于饼图的可视化图表,通过展示一个圆形中嵌套的分层结构,反映数据的层级结构和 group 成关系。

在旭日图中,圆形的每个扇形代表一级分类,而扇形内的较小扇形表示此分类下的子分类,以此类推。这种嵌套以通常以递归方式直到达到分类树的叶子节点。数据可以通过扇区的大小和颜色来编码,使得使用者可以在一个整体的视角下,快速了解复杂数据的 group 织结构、相对比例和 group 成部分之间的关系。

图表构成

旭日图主要由具有层级结构的扇形图元及标签、提示信息等元素或 group 件构成。

具有层级结构的扇形图元为旭日图的基本要素,相关的绘制配置必不可少:

  • sunburstChart.type: 图表类型,旭日图的类型为'circlePacking'
  • sunburstChart.data: 图表绘制的数据源,在旭日图中通常为具有层级结构,形式如下:
[
  {
    name: 'A',
    children: [
      { name: 'A-a', value: 1 },
      { name: 'A-b', value: 2 }
    ]
  },
  {
    name: 'B',
    children: [
      { name: 'B-a', value: 3 },
      { name: 'B-b', value: 4 }
    ]
  }
];
  • sunburstChart.categoryField: 分类字段,映射不同图元
  • sunburstChart.valueField: 数值字段,映射图元的角度范围

提示信息等作为辅助图表展示的 group 件,属于可选配置,自带默认效果和功能:

快速上手

  • categoryField 属性声明为分类字段
  • valueField 属性声明为数值字段
  • sunburst sunburst 图元配置,默认所有图元样式一致,为了展示层级关系,通常需要通过callback的形式区分不同层级的图元。
  • label 标签图元配置,默认每个图元都有标签并且样式一致,为了展示层级关系,通常需要通过callback的形式区分不同层级的标签。

旭日图特性

数据

正如前文所提到,旭日图通过层层嵌套的环形来表达数据的嵌套关系,所以源数据必定为嵌套结构,如:

[
  {
    name: 'A',
    children: [
      { name: 'A-a', value: 1 },
      { name: 'A-b', value: 2 }
    ]
  },
  {
    name: 'B',
    children: [
      { name: 'B-a', value: 3 },
      { name: 'B-b', value: 4 }
    ]
  }
];

图表布局

位置

通过sunburstChart.centerXsunburstChart.centerYsunburstChart.offsetXsunburstChart.offsetY可以分别配置旭日图中心点 x、y 坐标和对应偏移量。

角度范围

通过sunburstChart.startAnglesunburstChart.endAngle可以配置旭日图的角度范围。

内外半径

通过sunburstChart.innerRadiussunburstChart.outerRadius可以配置旭日图的内外半径,支持传入数 group,逐层配置。

层级间隔

通过sunburstChart.gap可以配置层级间隔,支持传入数 group,逐层配置层级间隔。

标签布局

todo: 一个表格

图表交互

下钻

下钻功能是在矩形树图、Circle Packing、旭日图等展示不同层次的下级数据时,能够单击父类别以深入挖掘子类别信息的能力。通过下钻功能,用户可以逐级查看详情,深入探索数据的层级细节,并更好地了解数据之间的关系和差异性,得出更高质量的分析结论。

通过配置sunburstChart.drill: truesunburstChart.drillField 可以分别开启下钻功能和配置下钻依据的字段(下钻字段默认情况会使用自动生成 unique key, 但在使用 API 钻取时需要配置drillField)。