...
Python组件支持编写代码自定义复杂的数据可视化效果,灵活拓展分析展示能力。另外,也可以在使用AIChat问数过程中,将高频数据问答结果一键转化为仪表盘的Python组件,生成主题看板。
注意 |
---|
Python组件加载需依赖AIChat,部署手册详见:Smartbi AIChat(白泽)运维手册 。 |
2 业务场景
2.1 自定义复杂组件
1、场景描述:通过编写Python代码自定义复杂的数据可视化效果。
...
(2)在代码编辑器中,输入所需的Python代码,如下图所示:
示例的Python代码如下:
(3)点击 运行 ,可查看效果:
信息 |
---|
Python组件当前仅支持通过接口获取动态数据,或在代码中写静态数据。 |
锚 | ||||
---|---|---|---|---|
|
- 添加一个筛选器组件到画布中,并为该筛选器组件绑定字段,如下图所示:
如果想要数据能正常联动,所选字段需选择和Python代码中同一来源的数据。
- 设置筛选器组件 应用于 此Python组件,如下图所示:
- 点击 图标,编辑Python代码,在查询代码中增加绑定筛选器内容,需填入 筛选器名称 ,如下图所示:
- 切换筛选器选中值即可查看过滤数据效果,如下图所示:
- 如果想要删除筛选器组件对Python组件的影响,则在Python代码中去掉绑定筛选器的内容,并设置筛选器不应用于Python组件即可。
(5)示例的Python代码如下:
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
import plotly.graph_objects as go # 查询2019年各车系的销量、车型数以及同比情况查询各车系的销量情况 sql_json = { "sel": ["车系", "销量", "车型数", "销量同比增长率", "车型数同比增长率"], "conds": [${年}], "from": "即席查询" } df_car_series_2019sales = detail_trend_data_query_assistant(sql_json) # 创建联合图展示用柱形图展示数据 fig = go.Figure() # 添加销量柱状图 fig.add_trace( go.Bar( x=df_2019car_series_sales['车系'], y=df_car_series_2019sales['销量'], name='销量', marker_color='blue' ) ) # 添加车型数柱状图 fig.add_trace( go.Bar( x=df_2019['车系'], y=df_2019['车型数'], name='车型数', marker_color='green'销量' ) ) # 添加销量同比增长率折线图设置图表标题和轴标签 fig.addupdate_tracelayout( go.Scatter( x=df_2019['车系'], y=df_2019['销量同比增长率'], mode='lines+markers', name='销量同比增长率', yaxis title='y2各车系销量情况', line=dict(color='red') ) ) # 添加车型数同比增长率折线图 fig.add_trace( go.Scatter( x=df_2019[xaxis_title='车系'], y=df_2019['车型数同比增长率'], mode='lines+markers', name='车型数同比增长率', yaxis='y2', line=dict(color='orange') ) ) # 设置布局 fig.update_layout( title="2019年各车系销量、车型数及同比情况", xaxis=dict(title="车系"), yaxis=dict(title="销量/车型数"), yaxis2=dict( title="同比增长率", overlaying='y', side='right' ), yaxis_title='销量', title_x=0.5 # 标题居中 ) # 输出结果 import json json_result = json.dumps([{"output_variable_name": "fig", "type": "plotly", "desc": "联合图展示2019年各车系销量、车型数及同比情况各车系销量柱形图"}]) json_result |
信息 |
---|
● 示例代码仅作为参考示例,代码中的查询语句需要根据实际的环境数据去修改。 |
...
2.2 添加AI问数结果到仪表盘中
1、场景描述:在使用AIChat问数过程中,将高频数据问答结果一键转化为仪表盘的Python组件,生成主题看板。
...
(3)点击 添加到仪表盘 按钮,将问数结果添加到仪表盘中,如下图所示:
- 将问数结果的条件转换成仪表盘的筛选器组件
- 问数的图文内容转换成仪表盘的Python组件,支持点击 图标,编辑Python代码变更Python组件效果
- 支持切换筛选器的选中值,刷新Python组件的数据
...
- 将问数结果的条件转换成仪表盘的筛选器组件。
- 问数的图文内容转换成仪表盘的Python组件,支持点击 图标,编辑Python代码变更Python组件效果。
- 支持切换筛选器的选中值,刷新Python组件的数据。
(4)问数结果在仪表盘中生成Python组件后,和仪表盘本身手动添加的Python组件一样,支持增删绑定的筛选器,操作详见本文2.1章节:绑定筛选器。
如当前的示例,增加一个 车系 筛选器,最终效果如下图所示:
3 更多功能
- 更多的组件属性设置项的详细介绍,可参考文档: 组件设置 。
...