工作流中支持使用 <echarts_rander></echarts_rander> 渲染 echarts 图表,该标签需要搭配函数库的函数进行使用。
1 Echart 图表
从 Apache ECharts 选择图表模板,复制其 option 值。
1.1 散点图
1.2 漏斗图
1.3 雷达图
2 函数
函数里返回的数据格式为 {'actionType': actionType, 'option': option, 'style': style}
actionType 表示执行类型,只有俩值:EVAL 或 JSON。如果 option 是一个 json,那么 actionType 就写 JSON ,如果 option 是一段需要执行的 js 那就用 EVAL。
option 表示图表,其值来自 Echart 模板中的 option,可以直接复制过来粘贴使用。
style 表示样式,即图表的长度、宽度。
3 函数库
# coding=utf-8
import json
def get_echarts():
option = """
option = {
title: {
text: '专家库年龄分布图',
subtext: '',
left: 'center'
},
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 'left'
},
series: [
{
name: 'Access From',
type: 'pie',
radius: '50%',
data: [
{ value: 1048, name: 'Search Engine' },
{ value: 735, name: 'Direct' },
{ value: 580, name: 'Email' },
{ value: 484, name: 'Union Ads' },
{ value: 300, name: 'Video Ads' }
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
"""
return json.dumps({'actionType': 'EVAL', 'option': option, 'style': {'height': '600px', 'width': '100%'}})
4 高级编排
场景:问题中若包含对应图表的名称,就调用对应函数,指定回复里输出 <echarts_rander></echarts_rander>结果。