页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

Python组件支持编写代码自定义复杂的数据可视化效果,灵活拓展分析展示能力。另外,也可以在使用AIChat问数过程中,将高频数据问答结果一键转化为仪表盘的Python组件,生成主题看板。


注意

Python组件加载需依赖AIChat,部署手册详见:Smartbi AIChat(白泽)运维手册

2 业务场景

2.1 自定义复杂组件

1、场景描述:通过编写Python代码自定义复杂的数据可视化效果。

...

信息

Python组件当前仅支持通过接口获取动态数据,或在代码中写静态数据。

绑定筛选器
绑定筛选器
(4)如果是通过接口获取数据,可以绑定仪表盘的筛选器组件,实现过滤数据的效果,操作如下:

...

  • 切换筛选器选中值即可查看过滤数据效果,如下图所示:

  • 如果想要删除筛选器组件对Python组件的影响,则在Python代码中去掉绑定筛选器的内容,并设置筛选器不应用于Python组件即可。

(5)示例的Python代码如下:

代码块
languagepy
linenumberstrue
collapsetrue
import plotly.graph_objects as go

# 查询各车系的销量情况
sql_json = {"sel": ["车系", "销量"],"conds": [${年}], "from": "即席查询"}
df_car_series_sales = detail_trend_data_query_assistant(sql_json)

# 用柱形图展示数据
fig = go.Figure()
fig.add_trace(go.Bar(
    x=df_car_series_sales['车系'],
    y=df_car_series_sales['销量'],
    name='销量'
))

# 设置图表标题和轴标签
fig.update_layout(
    title='各车系销量情况',
    xaxis_title='车系',
    yaxis_title='销量',
    title_x=0.5  # 标题居中
)

# 输出结果
import json
json_result = json.dumps([{"output_variable_name": "fig", "type": "plotly", "desc": "各车系销量柱形图"}])
json_result

...

  • 将问数结果的条件转换成仪表盘的筛选器组件。
  • 问数的图文内容转换成仪表盘的Python组件,支持点击  图标,编辑Python代码变更Python组件效果。
  • 支持切换筛选器的选中值,刷新Python组件的数据。

(4)问数结果在仪表盘中生成Python组件后,和仪表盘本身手动添加的Python组件一样,支持增删绑定的筛选器,操作详见本文2.1章节:绑定筛选器

如当前的示例,增加一个 车系 筛选器,最终效果如下图所示:

Image Added

3 更多功能

  • 更多的组件属性设置项的详细介绍,可参考文档: 组件设置 。

...