本文档详细介绍了如何在仪表盘中集成和使用Python组件,包括数据查询、处理、可视化以及动态参数绑定的技术实现,并提供了完整的代码示例与输出规范。关于在仪表盘界面中Python组件的功能使用详见:Python组件 。
1 使用过程样例
1、使用分析模式,输入问句执行一个查询,点击 添加到仪表盘 按钮,如下图所示:
...
在仪表盘Python组件中,这里只会贴一个代码片段,然后系统会自动将用户编写的代码片段提交到后台的Jupyter Kernel中执行。一些基础包,也是已经在Jupyter Kernel中执行。一些基础包已在Jupyter Kernel中初始化了,当然也可以在该代码片段中添加所需的包,但只能添加Jupyter容器中已导入的包。
...
代码块 |
---|
# 创建数据 data = { '姓名': ['张三', '李四', '王五', '赵六', '孙七'], '年龄': [20, 22, 21, 23, 20], '成绩': [85.5, 90.0, 78.5, 88.0, 92.5] } # 创建 DataFrame df_result = pd.DataFrame(data) # 输出结果 import json json_result = json.dumps([{"output_variable_name": "df_result", "type": "dataframe", "desc": "学生成绩表"}]) json_result |
2.3.2 图形输出
代码块 |
---|
# 创建数据 data = { '姓名': ['张三', '李四', '王五', '赵六', '孙七'], '年龄': [20, 22, 21, 23, 20], '成绩': [85.5, 90.0, 78.5, 88.0, 92.5] } # 创建 DataFrame df_result = pd.DataFrame(data) import plotly.graph_objects as go # 创建图形 fig = go.Figure() # 添加销售额柱状图 fig.add_trace(go.Bar( x=df_result['姓名'], y=df_result['成绩'], name='成绩' )) # 设置图形布局 fig.update_layout( title='学生成绩', xaxis_title='姓名', yaxis_title='成绩', legend=dict( orientation="h", yanchor="bottom", y=1.02, xanchor="right", x=1 ) ) # 输出结果 import json json_result = json.dumps([{"output_variable_name": "fig", "type": "plotly", "desc": "学生成绩表"}]) json_result |
...
key | key说明 | 描述 |
---|---|---|
output_variable_name | 输出参数变量名称 | 需要在代码中存在的变量名 |
type | 输出类型 | dataframe plotly text |
desc | 输出描述 |
5 参数的使用
仪表盘中如何设置筛选器应用于Python组件的操作说明,详见:绑定筛选器。
5.1 样例一
代码块 |
---|
out_text = "你好,这是一个文本输出"+ str(${品牌}) # 输出结果 import json json_result = json.dumps([{"output_variable_name": "out_text", "type": "text", "desc": "学生成绩表"}]) json_result |
...
代码块 |
---|
out_text = "你好,这是一个文本输出"+ str(${品牌}) |
说明:
...
首先,需要拖拽一个仪表盘筛选器组件到页面,然后起名字
...
5.2 样例二
代码块 |
---|
sql_json = { "sel": ["销售_年月", "品牌", "销售额", "销售额同比增长率"], "from": "销售表", "conds": [${品牌}] } df_sales = detail_trend_data_query_assistant(sql_json) # 输出结果 import json json_result = json.dumps([{"output_variable_name": "df_sales", "type": "dataframe", "desc": "各年海尔及类似品牌的销售额和同比数据"}]) json_result |
...