旭日图
简介
旭日图是一种基于饼图的可视化图表,通过展示一个圆形中嵌套的分层结构,反映数据的层级结构和 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 件,属于可选配置,自带默认效果和功能:
sunburstChart.tooltip: 提示信息,默认交互时显示,详细配置见VChart 提示信息 group 件配置- 更多 group 件配置见VChart sunburstChart 配置
快 速上手
categoryField属性声明为分类字段valueField属性声明为数值字段sunburstsunburst 图元配置,默认所有图元样式一致,为了展示层级关系,通常需要通过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.centerX、sunburstChart.centerY、sunburstChart.offsetX、sunburstChart.offsetY可以分别配置旭日图中心点 x、y 坐标和对应偏移量。
角度范围
通过sunburstChart.startAngle和sunburstChart.endAngle可以配置旭日图的角度范围。
内外半径
通过sunburstChart.innerRadius和sunburstChart.outerRadius可以配置旭日图的内外半径,支持传入数 group,逐层配置。
层级间隔
通过sunburstChart.gap可以配置层级间隔,支持传入数 group,逐层配置层级间隔。
标签布局
todo: 一个表格
图表交互
下钻
下钻功能是在矩形树图、Circle Packing、旭日图等展示不同层次的下级数据时,能够单击父类别以深入挖掘子类别信息的能力。通过下钻功能,用户可以逐级查看详情,深入探索数据的层级细节,并更好地了解数据之间的关系和差异性,得出更高质量的分析结论。
通过配置sunburstChart.drill: true 和 sunburstChart.drillField 可以分别开启下钻功能和配置下钻依据的字段(下钻字段默认情况会使用自动生成 unique key, 但在使用 API 钻取时需要配置drillField)。