旭日图
Sunburst Chart 文档
Table of contents
AnyChart Extension for Qlik: Sunburst Chart
基础
下载与安装
Qlik Sense Desktop
要在 Qlik Sense Desktop 中安装 AnyChart Sunburst Extension,请执行以下操作:
- 下载适用于 Qlik Sense 的 AnyChart Sunburst Extension。
- 解压归档文件。
- 打开 Windows 资源管理器窗口并导航至 Qlik Sense Extensions 目录:
..\Users\<UserName>\Documents\Qlik\Sense\Extensions。 - 将 anygantt-4x-sunburst 文件夹复制到 Extensions 目录。
- 重新启动 Qlik Sense Desktop。
Qlik Sense Server
要在 Qlik Sense 服务器上安装 AnyChart Sunburst Extension,
- 下载适用于 Qlik Sense 的 AnyChart Sunburst Extension。
- 打开 Qlik Management Console (QMC):https://<QPS server name>/qmc
- 在 QMC 开始页面或从 Start 下拉菜单中选择 Extensions。
- 在操作栏中点击 Import。
- 在对话框中选择下载的归档文件。将密码区域留空。
- 在文件资源管理器窗口中点击 Open。
- 点击 Import。
Qlik Sense Cloud
要在 Qlik Sense Cloud 中安装 AnyChart Sunburst Extension,请执行以下操作:
- 下载适用于 Qlik Sense Cloud 的 AnyChart Sunburst Extension。
- 访问 Management Console:
- 在您的租户地址后添加 /console:https://<your tenant address>/console
- 或使用中心用户个人资料下的导航链接 Administration
- 转到 Extensions 页面并点击 Add。
- 在对话框中选择下载的归档文件。
- 点击 Add。
- 在 Management Console 中,转到 Content Security Policy 部分并点击 Add。
- 在对话框中,为 Content Security Policy 命名——例如,AnyChart。
- 输入源服务器的地址:qlik.anychart.com
- 选择以下指令:
- connect-src
- font-src
- img-src
- script-src
- style-src
- 点击 Add。
概述
Sunburst chart,也称为径向树图或多级饼图,是一种将分层组织的数据显示为一组分为切片的嵌套环的可视化方式。切片的大小代表其数值。
阅读 快速入门 和 维度和度量 以了解如何添加 Sunburst chart 以及要使用哪些维度和度量。
您可以配置图表的外观:设置 colors 和 inner radius,添加 center content,并调整 labels 和 tooltips。
此外,还提供以下选项:interactivity、calculation conditions。

快速入门
本快速教程说明了如何创建一个基础的 Sunburst chart。
首先,向您的工作表添加一个空图表:
- 在资产面板中转到 Custom objects > AnyChart。
- 将一个空的 AnyChart Sunburst 图表拖动到工作表上。
然后添加两个 维度:
- 在属性面板中转到 Dimensions。
- 点击 Add dimension 并选择一个维度。
- 点击 Add dimension 并选择一个维度。
最后,添加一个 度量,用于计算切片的大小:
- 在属性面板中转到 Measures。
- 点击 Add measure 并选择一个度量。
请注意,您也可以从字段创建维度和度量,或通过点击空图表上的按钮来添加它们。

维度和度量
维度
要添加维度,请执行以下操作:
- 在属性面板中转到 Dimensions。
- 点击 Add dimension 并选择一个维度。
Sunburst chart 仅需要一个维度。但是,只有一个维度时,它看起来像一个普通的(一级)饼图。要创建多级图表,请添加两个或更多维度。
请记住,您需要按正确的顺序排列维度,从较高级别到较低级别:只需在属性面板中拖动它们即可。
AnyChart Sunburst 可以显示具有一个根或多个根的分层数据:


图表的每个切片都有一个文本标签,显示其维度和度量。但如果需要,标签可以显示不同的文本。例如,您可以将类别的数字标识符用作维度,同时将类别名称显示为标签。请参阅 标签 部分以了解更多信息。
度量
要添加度量,请执行以下操作:
- 在属性面板中转到 Measures。
- 点击 Add measure 并选择一个度量。
度量用于计算切片的大小。在您的可视化中,您可以使用任何具有任何聚合方式的度量,也可以将度量设置为自定义表达式。例如,您可以使用自定义表达式来隐藏太小的切片。
外观
按表达式着色
图表的切片由默认调色板着色。或者,您可以按表达式为其着色。
按表达式着色使用用户定义的表达式设置颜色。按表达式着色时,您可以定义要使用的颜色以及要使用这些颜色的数值,从而更好地控制颜色在可视化中的使用方式。例如,您可以突出显示特别感兴趣的数值,或者区分不同数值范围内的数值。按表达式着色还可以用于按可视化中未包含的数值为可视化着色。
要按表达式为切片着色,请执行以下操作:
- 在属性面板中转到 Appearance > Colors。
- 切换 Colors 滑块。
- 从第一个下拉菜单中选择 By expression。
- 在输入框中输入表达式。
示例
示例:按父级着色
Pick(Match(RegionName,
'South', 'West', 'Midwest', 'Northeast'),
'#d29b9b', '#57a7b1', '#5785b2', '#bdbdbd')在此示例中,4 种颜色区分属于 4 个不同父组的切片。

示例:按层次级别着色
If(Dimensionality() = 1, '#d29b9b',
If(Dimensionality() = 2, '#57a7b1',
If(Dimensionality() = 3, '#bdbdbd')))在此示例中,3 种颜色区分属于 3 个不同层次级别的切片。

示例:按度量着色
If(Sum(CENSUS2010POP) >= 30000000, '#d29b9b',
If(Sum(CENSUS2010POP) >= 10000000, '#57a7b1',
'#bdbdbd'))这里 3 种颜色指示 3 种人口规模:>= 30M、>= 10M 且 < 30M,以及其余部分( < 10M)。

示例:按备选度量着色
If(Avg(RNATURALINC2011) <= 0, '#d29b9b',
If(Avg(RNATURALINC2011) < Avg(TOTAL{1<Country = {'U.S.'}>}RNATURALINC2011), '#bdbdbd',
If(Avg(RNATURALINC2011) >= Avg(TOTAL{1<Country = {'U.S.'}>}RNATURALINC2011), '#57a7b1')))这里 3 种颜色指示 3 种自然增长率类型:<= 0(红色)、> 0 但低于总平均值(灰色),以及高于或等于总平均值(绿色)。切片的大小代表另一个度量——人口规模。

内半径
您可以调整图表的内半径以设置中心开放空间的大小。
默认情况下,内半径为 0%:中心由父元素占据,不留额外空间:

要设置内半径,请执行以下操作:
- 在属性面板中转到 Appearance > Presentation。
- 使用 Inner radius 选项。

您可以使用中心的各种空间来显示 center content。
中心内容
当 inner radius 大于 0 时,图表中心有一个开放空间。您可以使用它来显示附加信息:
- 在属性面板中转到 Appearance > Presentation。
- 在 Center content 输入框中输入表达式。
请注意,中心内容既可以设置为字符串值,也可以设置为任意字符串表达式。此外,您还可以使用 HTML,如下面的示例所示:
'<b>POPULATION<br><span style=color:red><i>' &
Round(Sum(CENSUS2010POP) / 1000000, 0.1) & 'M</i></span></b>
标签
标签是显示图表切片信息的文本对象。
默认情况下,每个标签显示切片的维度和度量,但您可以自定义文本:
- 在属性面板中转到 Appearance > Label。
- 从 Text 下拉菜单中选择标签格式。
- 如果您选择 Expression 格式,请在输入框中输入表达式。
提供以下标签格式:
| 标签格式 | 描述 |
|---|---|
| Dimension | 每个标签显示与切片对应的维度。 |
| Dimension and measure | 每个标签显示与切片对应的维度和度量。 |
| Measure only outside | 外环(代表层次结构的最后一个(最低)级别)的标签显示维度和度量。所有内环的标签仅显示维度。 |
| Measure only inside | 所有内环的标签显示维度和度量。外环(代表层次结构的最后一个(最低)级别)的标签仅显示维度。 |
| Expression | 标签显示自定义(用户定义)文本。 |
Dimension

Dimension and Measure

Measure only Outside

Measure only Inside

请注意,如果您选择 Expression 选项,标签文本既可以设置为字符串值,也可以设置为任意字符串表达式。使用表达式允许您突出显示特别感兴趣的数值,显示可视化中未包含的数值或计算结果,等等。
在下面的示例中,层次结构不同级别的切片显示不同的标签:
If(Dimensionality() = 1, Country & ' POPULATION',
If(Dimensionality() = 2,
Upper(RegionName) & ': ' & Round(Sum(CENSUS2010POP) / 1000000, 0.1) & 'M',
If(Dimensionality() = 3, StateCodes)))
提示信息
提示信息是当用户悬停在图表切片上时出现的文本框。您可以设置自定义提示文本。
请注意,提示文本既可以设置为字符串值,也可以设置为任意字符串表达式。使用表达式允许您突出显示特别感兴趣的数值,显示可视化中未包含的数值或计算结果,等等。
此外,您在提示信息中也可以使用 HTML。
要禁用或启用提示信息,请在属性面板中转到 Interactivity 并切换 Tooltips 滑块。
要配置提示文本,
- 在属性面板中转到 Appearance > Tooltip。
- 切换 Tooltip text 滑块。
- 在输入框中输入字符串值或字符串表达式。
不同切片的提示信息可以显示不同的文本。例如,文本可以根据层次级别而变化:
If(Dimensionality() = 1,
'<b>' & Upper(RegionName) & '</b><br><i>Region</i>' &
'<hr>States: ' & Count(State) & '<br>',
If(Dimensionality() = 2,
'<b>' & Upper(DivisionName) & '</b><br><i>Division</i>' &
'<hr>States: ' & Count(State) & '<br>',
If(Dimensionality() = 3,
'<b>' & Upper(State) & '</b><br><i>State</i><hr>'))) &
'Population: ' & Round(Sum(CENSUS2010POP) / 1000000, 0.1) & 'M'


其他功能
交互性
默认情况下,提供以下交互功能:选择、快照和 提示信息。此外,您可以设置选择模式或启用下钻而非选择。
要禁用或启用这些功能,请在属性面板中转到 Interactivity 并使用以下功能:
- Selection 和 Dimension
- Enable drilldown
- Snapshots
- Tooltips
启用 Selection 后,您可以使用 Dimension 下拉菜单设置选择模式。提供以下选项:
| 选择模式 | 描述 |
|---|---|
| Show all | 图表显示所选维度及其在上方和下方所有级别的父级和子级。 |
| Show selected and below | 图表显示所选维度及其在下方所有级别的子级。 |


仅当 Selection 被禁用时,Enable drilldown 选项才可用。其工作原理如下:如果您点击一个具有子元素的元素,您将下钻到该元素及其子元素;如果您点击父元素,您将上钻一级。

计算条件
AnyChart 支持计算条件:您可以设置一个必须满足(为 true)才能显示对象的条件。如果不满足该条件,则会显示自定义消息。
当图表或表格非常大且导致可视化响应缓慢时,计算条件非常有用。计算条件可以提供帮助,例如,在用户通过应用选择将数据过滤到更易于管理的级别之前,不显示对象。
要添加条件,请执行以下操作:
- 在属性面板中转到 Add-ons > Data handling。
- 在 Calculation condition 输入框中输入表达式。
- 在 Displayed message 输入框中输入字符串值或字符串表达式。
例如,以下表达式允许仅在用户选择少于 20 个州时显示图表:
If(Count(State) < 20, 1, 0)如果州太多,AnyChart 会显示此消息:
'There are too many states (' & Count(State) & ').'

