# 桑基图
桑基图是一种特殊的流图(可以看作是有向无环图)。 它主要用来表示原材料、能量等如何从最初形式经过中间过程的加工或转化达到最终状态。
# 属性
# 基础
组件标题: 用于在图层中显示组件的名称。1.1+
组件尺寸: 组件的宽度和高度,单位为
px
。组件位置: 组件在大屏中的位置,通过横纵坐标来定义,单位为
px
。背景颜色: 组件的背景颜色。
层级颜色: 组件层级的颜色。
# 系列
布局方向: 水平布局/垂直布局。
节点宽度: 组件各节点的宽度。
节点间隔: 组件各节点之间的间隔。
对齐方式: 组件的对齐方式。
- 左右对齐
- 左对齐
- 右对齐
是否拖拽: 组件节点是否可以拖拽。
是否高亮: 是否开启高亮显示。
提示:
当数据中存在层级数据时,组件对齐方式配置不生效。
节点样式: 对组件各节点的配置。
渐变色: 节点是否渐变。
起始颜色: 节点起始渐变的颜色。
末端颜色: 节点结束渐变的颜色。
末端颜色: 节点起始渐变的颜色。
颜色: 节点的颜色。
描边颜色: 节点的描边颜色。
描边线宽: 节点描边的宽度。
描边类型: 节点描边的类型。
- 实线
- 虚线
- 点状线
层边样式: 对组件各节点之间层边的配置。
特殊颜色: 层边是否启用特殊颜色。
特殊颜色: 特殊颜色跟随那个节点。
- 起始节点
- 目标节点
颜色: 层边的颜色。
透明度: 层边的透明度。
曲度: 层边的曲度。
文本标签: 对节点文本的设置。
显示: 是否显示文本。
位置: 文本的位置。
距离: 文本距散点的位置。
内容格式器: 标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用
\n
换行。字符串模板变量
{a}
: 系列名。{b}
: 数据名。{c}
: 数据值。
例如:
{b}: {c}
回调函数
可用参数为
data
。示例:
return data.data[i];
参数
data
是 内容格式器需要的单个数据资源。格式如下:{ // 数据名,类目名 "name": string, // 传入的原始数据项 "data": Object, // 传入的数据值 "value": number | Array, // 百分比 "percent": number }
字体颜色: 文本标签字体颜色。
字体大小: 文本标签字体大小。
字体粗细: 文本标签字体粗细。
字体: 文本标签字体样式。
初始动画: 对组件动画的配置。
开启动画: 组件是否启用动画。
动画时长(ms): 动画的时长。
缓动效果: 动画的缓动效果。
# 层级
开启: 此层级设置是否生效。
对应层级: 配置所对应的层级。
节点样式: 对此层级节点样式的配置。
渐变色: 节点是否渐变。
起始颜色: 节点起始渐变的颜色。
末端颜色: 节点结束渐变的颜色。
末端颜色: 节点起始渐变的颜色。
颜色: 节点的颜色。
描边颜色: 节点的描边颜色。
描边线宽: 节点描边的宽度。
描边类型: 节点描边的类型。
- 实线
- 虚线
- 点状线
层边样式: 对此层级各节点之间层边的配置。
特殊颜色: 层边是否启用特殊颜色。
特殊颜色: 特殊颜色跟随那个节点。
- 起始节点
- 目标节点
颜色: 层边的颜色。
透明度: 层边的透明度。
曲度: 层边的曲度。
# 视区
离左侧距离: 离容器左侧的距离。
离右侧距离: 离容器上侧的距离。
离上侧距离: 离容器右侧的距离。
离下侧距离: 离容器下侧的距离。
# 标题
显示标题: 是否显示标题
内容:
标题
主: 主标题内容。
副: 副标题内容。
超链接
- 主: 主标题超链接。
- 副: 副标题超链接。
位置
- 水平对齐
- 垂直对齐
外观
内边距
主副间隔
主标题文本样式
字体颜色: 主标题字体颜色。
字体大小: 主标题字体大小。
字体粗细: 主标题字体粗细。
字体: 主标题字体样式。
副标题文本样式
字体颜色: 副标题字体颜色。
字体大小: 副标题字体大小。
字体粗细: 副标题字体粗细。
字体: 副标题字体样式。
# 图例
显示图例: 是否显示图例。
选中模式: 图例选择的模式,控制是否可以通过点击图例改变系列的显示状态。
内容格式器: 用来格式化图例文本,支持字符串模板和回调函数两种形式。
字符串模板:
{name}
回调函数:
return data;
位置
排列方式: 图例列表的布局朝向。
水平位置: 水平排列。
垂直位置: 垂直排列。
文字样式
字体颜色: 图例字体颜色。
字体大小: 图例字体大小。
字体粗细: 图例字体粗细。
字体: 图例字体样式。
# 提示框
显示提示框: 是否显示提示框。
提示模板 :提示框浮层内容格式器,支持字符串模板和回调函数两种形式。
字符串模板
模板变量有
{a}
,{b}
,{c}
,{d}
,{e}
,分别表示系列名,数据名,数据值等。 在触发点为坐标轴的时候,会有多个系列的数据,此时可以通过{a0}
,{a1}
,{a2}
这种后面加索引的方式表示系列的索引。 不同图表类型下的{a}
,{b}
,{c}
,{d}
含义不一样。 其中变量{a}
,{b}
,{c}
,{d}
在不同图表类型下代表数据含义为:- 折线(区域)图、柱状(条形)图、K 线图 :
{a}
(系列名称),{b}
(类目值),{c}
(数值),{d}
(无) - 散点图(气泡)图 :
{a}
(系列名称),{b}
(数据名称),{c}
(数值数组),{d}
(无) - 地图 :
{a}
(系列名称),{b}
(区域名称),{c}
(合并数值),{d}
(无) - 饼图、仪表盘、漏斗图:
{a}
(系列名称),{b}
(数据项名称),{c}
(数值),{d}
(百分比)
- 折线(区域)图、柱状(条形)图、K 线图 :
回调函数
return data;
触发点:
坐标轴: 坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用。
数据项: 数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用。
提示外观
背景颜色: 提示框浮层的背景颜色。
边框颜色: 提示框浮层的边框颜色。
边框宽度: 提示框浮层的边框宽度。
内边距: 提示框浮层内边距。
文本样式
字体颜色: 提示框字体颜色。
字体大小: 提示框字体大小。
字体粗细: 提示框字体粗细。
字体: 提示框字体样式。
# 工具栏
显示工具栏: 是否显示工具栏。
功能按钮
保存为图片按钮
还原按钮
数据视图按钮
位置朝向
排列方式: 功能按钮的布局朝向。
水平位置: 水平排列。
垂直位置: 垂直排列。
图表尺寸
- 图标大小
- 间隔
# 数据
# 静态数据
上图中的示例JSON
代码如下:
[
{
"name": "a",
"depth": 0,
"dataValue": 20,
"source": "a",
"target": "a1",
"linksValue": 5
},
{
"name": "b",
"depth": 0,
"dataValue": 50,
"source": "a",
"target": "a2",
"linksValue": 20
},
{
"name": "a1",
"depth": 2,
"dataValue": 10,
"source": "b",
"target": "b1",
"linksValue": 8
},
{
"name": "a2",
"depth": 1,
"dataValue": 30,
"source": "a",
"target": "b1",
"linksValue": 3
},
{
"name": "b1",
"depth": 2,
"dataValue": 20,
"source": "b1",
"target": "a1",
"linksValue": 5
},
{
"name": "c",
"depth": 1,
"dataValue": 22,
"source": "b1",
"target": "c",
"linksValue": 2
}
]
name: 维度,各节点的名称。
depth: 量度,各节点的层级。
dataValue: 量度,节点的长度。
source: 维度,节点关系的开始节点名称。
name: 维度,节点关系的结束节点名称。
dataValue: 量度,层级的宽度。
# 数据资源
# 交互
# 单击节点交互事件
勾选启用,开启组件交互功能。当单击桑基图节点时,绑定字段中数据会推送到变量中。关联此变量的组件将携带此变量值,触发数据请求,查询相关数据,更新组件。具体配置请参考组件交互。
# 单击边交互事件
勾选启用,开启组件交互功能。当单击桑基图边时,绑定字段中数据会推送到变量中。关联此变量的组件将携带此变量值,触发数据请求,查询相关数据,更新组件。具体配置请参考组件交互。
# 数据响应
桑基图支持数据响应配置。
# 节点编程
# 事件
单击节点交互事件: 节点单击触发事件。
- 抛出的参数: 节点所携带的数据。
单击边交互事件: 关系边单击触发事件。
- 抛出的参数: 关系边所携带的数据。
图表配置转换完成后: 图表 Option 配置转换完成后事件。
- 抛出的参数: 配置完成后的 Option 。
图例切换事件: 图表图例切换时触发。
- 抛出的参数: 切换的图例名称及选中状态。
# 动作
导入图表配置: 可导入 Echarts 图表 Option 配置。
- 接收的参数: 修改后的 Option 。
设置图例: 设置图例的选中状态。
- 接收的参数:
{ "类型一": true, "类型二": false, "类型三": false }