Trae x Vizro:低代码构建专业数据可视化仪表板的高效方案
目录
- 前言
- 一.核心工具与优势解析
- 低代码高效开发
- 专业视觉设计
- 高度灵活可定制
- AI赋能创新
- 二.操作步骤:从安装到生成效果
- 第一步. 获取MCP配置代码
- 第二步:下载
- 第三步:在 Trae 中导入 MCP 配置并建立连接
- 三. 实战:用Vizro MCP快速构建仪表板
- 1. 提出需求
- 2.智能体生成代码
- 3.查看运行结果
- 4.优化与部署
- 四.Vizro MCP核心功能解析
- get_vizro_chart_or_dashboard_plan
- get_model_json_schema
- get_sample_data_info
- load_and_analyze_data
- validate_dashboard_config
- validate_chart_code
- 五.Vizro工具包核心优势
- 总结
前言
在数据驱动决策的时代,快速将原始数据转化为直观、专业的可视化仪表板,是业务分析、战略规划的核心需求。然而,传统数据可视化流程往往面临“技术门槛高”“开发周期长”“设计与功能难以平衡”的痛点——非技术人员难以独立完成仪表板开发,而工程师则需花费大量时间编写基础代码、调试交互逻辑。
为解决这一问题,我们引入Vizro(Python开源低代码可视化工具包) 与Trae的集成方案。借助蓝耘MCP提供的Vizro专属多能力组件(MCP),可无缝连接Vizro的低代码优势与自动化部署能力,让用户无需复杂编码,即可快速构建、部署可生产级别的数据可视化应用。这种集成不仅大幅缩短开发周期,还能确保仪表板的专业性与可维护性,让业务人员聚焦数据洞察,工程师专注核心功能优化。
一.核心工具与优势解析
Vizro是麦肯锡开源的Python低代码可视化工具包,其设计初衷是让数据从业者摆脱复杂前端开发与设计工作,快速将数据转化为专业级可视化应用。它以简单的Python配置为核心,融合Plotly、Dash等强大可视化库的优势,构建起一套“低代码高效开发+专业视觉设计+高度灵活定制”的可视化解决方案。
低代码高效开发
Vizro打破传统数据可视化开发模式,用户无需编写大量HTML、CSS、JavaScript代码搭建页面结构与交互逻辑。通过Pydantic模型、JSON、YAML或Python字典几行简洁配置,即可完成仪表板创建。例如,构建一个包含柱状图、折线图与筛选器的基础销售数据分析仪表板,传统方式需工程师花费数天编写数百行代码,Vizro仅需几十行Python代码,开发时间可大幅缩短80%,极大提升项目交付效率,让业务人员与数据分析师也能轻松涉足可视化开发领域。
专业视觉设计
在视觉呈现上,Vizro内置行业最佳实践标准,从色彩搭配、图表布局到标签字体,均遵循专业设计规范。以颜色方案为例,其根据数据类型与业务场景预设多种配色组合,如分析财务数据时,采用沉稳、对比鲜明的色调突出重点指标;展示市场趋势数据,选择柔和、渐变色彩体现数据变化的流畅性。默认生成的图表与仪表板美观且专业,符合企业级审美要求,无需额外投入设计资源进行美化,降低可视化成果的设计门槛。
高度灵活可定制
对于有进阶需求的高级用户,Vizro同样提供广阔的拓展空间。支持使用Python、JavaScript、HTML和CSS代码进行深度定制,开发者可编写自定义函数、添加JavaScript组件,实现独特的图表交互效果,如创建具有动态缩放、数据点提示等交互逻辑的图表;还能利用CSS调整仪表板整体样式,融入企业专属Logo、品牌色,打造具有企业辨识度的可视化应用,兼顾低代码便捷性与定制化深度需求。
AI赋能创新
Vizro - AI扩展包更是为可视化流程注入创新活力。它支持自然语言到可视化代码的转化,用户只需在文本框输入“展示各地区销售额趋势,需支持按季度筛选”等自然语言需求,Vizro - AI即可智能分析并生成对应的可视化代码,快速搭建出符合要求的图表与仪表板,进一步降低可视化开发的技术门槛,激发用户探索数据的灵感,让数据可视化不再受限于代码编写能力。
二.操作步骤:从安装到生成效果
第一步. 获取MCP配置代码
进入 Vizro 主页,如下:
这里我们进入工具详情,点击链接,获得 json 代码,复制
第二步:下载
Vizro基于Python开发,需先完成本地环境配置,确保后续与MCP服务顺畅对接。
- 安装Python:确保本地安装Python 3.9~3.13版本(Vizro官方推荐兼容版本),可通过Python官网下载安装。
- 安装Vizro包:打开终端,执行以下命令完成Vizro核心包与依赖安装:
# 安装Vizro核心工具包 pip install vizro # (可选)若需AI生成功能,安装Vizro-AI扩展包 pip install vizro_ai
- 验证安装:安装完成后,在终端执行
python -c "import vizro; print(vizro.__version__)"
,若输出当前版本号(如0.4.0),则环境配置成功。 - 这里我们选择直接通过 uvx 安装
第三步:在 Trae 中导入 MCP 配置并建立连接
-
打开 Trae AI功能管理:打开 Trae 客户端,点击右上角的齿轮图标;
-
选择手动添加“MCP”:选择“MCP”,点击“手动添加”;
-
导入 JSON 配置文件:粘贴第一步复制的JSON文件,点击“确定”;
-
检验:如下图所示,就是配置好了
-
创建“智能体”:选择“智能体”,点击“创建”;
在“工具”那里选择我们刚才创建好的MCP;
下面是一个详细的提示词示例:
你是资深数据可视化工程师,精通Vizro工具包的全流程使用,需以专业、高效的方式解决数据可视化需求:- 角色与能力:熟练运用Vizro的低代码配置(Python/Pydantic/JSON/YAML),支持柱状图、散点图、地图等20+图表类型;可通过Vizro-AI将自然语言需求转化为可视化代码,优化仪表板交互逻辑(如筛选器、联动效果)。- 工作流程:先明确用户需求(如“分析各地区销售额趋势,需支持按季度筛选”),调用Vizro MCP的“generate_viz_code”功能生成基础代码,结合数据格式(如CSV/Excel/数据库连接)调整配置,最终输出可运行的仪表板代码与部署指南。- 规则与偏好:优先遵循视觉设计最佳实践(如配色一致性、标签清晰度);确保仪表板响应式适配(支持桌面/平板查看);代码需包含注释,便于用户二次修改。
- “完成”:创建好了是这样的。
并且8月蓝耘还在举办 MaaS 特价/折扣资源包和周周抢免费无门槛代金券活动
大量的token都在送,感兴趣的赶紧来吧
注册链接
三. 实战:用Vizro MCP快速构建仪表板
以“鸢尾花数据集分析仪表板”为例,演示如何通过智能体+MCP实现低代码开发。
1. 提出需求
在Trae智能体对话界面输入需求:“基于鸢尾花数据集(iris),构建包含两个图表的仪表板:①散点图(展示花瓣长度与宽度的关系,按品种分组);②直方图(展示萼片长度分布,按品种筛选),需添加品种、萼片长度的筛选器控件。”
2.智能体生成代码
智能体会自动调用Vizro MCP的“generate_viz_code”功能,分析需求后输出可运行的Python代码,示例如下:
import pandas as pd
import vizro as vz
import vizro.models as vm
import vizro.plotly.express as px# 加载鸢尾花数据集
df = pd.read_csv('data.csv') # 换成文件地址# 创建散点图:花瓣长度与宽度的关系,按品种分组
scatter_fig = px.scatter(df, x="PetalLength", y="PetalWidth", color="Species", title="花瓣长度与宽度的关系",labels={"PetalLength": "花瓣长度", "PetalWidth": "花瓣宽度", "Species": "品种"}
)# 创建直方图:萼片长度分布,按品种筛选
hist_fig = px.histogram(df, x="SepalLength", color="Species", barmode="overlay",title="萼片长度分布",labels={"SepalLength": "萼片长度", "count": "数量", "Species": "品种"}
)# 创建仪表板页面
page = vm.Page(title="鸢尾花数据集分析",components=[vm.Graph(figure=scatter_fig),vm.Graph(figure=hist_fig)],controls=[# 品种筛选器vm.Filter(column="Species"),# 萼片长度筛选器vm.Filter(column="SepalLength")],layout=vm.Layout(grid=[[0, 1]])
)# 创建仪表板模型
dashboard = vm.Dashboard(pages=[page])# 构建并运行应用
if __name__ == "__main__":app = vz.Vizro()app.build(dashboard)app.run(debug=True)
这是我们的输出结果:
3.查看运行结果
打开这个页面,我们就可以看到,它已经帮我们实现页面可视化了:
4.优化与部署
若需调整样式(如配色、字体),可在代码中添加vm.Theme
配置;若需多页面切换,可新增vm.Page
并添加到Dashboard
的pages
列表中。
四.Vizro MCP核心功能解析
Vizro MCP提供6大核心能力,覆盖从代码生成到部署的全流程需求:
工具名称 | 功能描述 |
---|---|
get_vizro_chart_or_dashboard_plan | 获取创建 Vizro 图表或仪表板的规划相关内容 |
get_model_json_schema | 获取指定 Vizro 模型的 JSON 模式 |
get_sample_data_info | 如果用户未提供数据,使用此工具获取样本数据相关信息 |
load_and_analyze_data | 用于理解本地或远程数据文件 |
validate_dashboard_config | 验证 Vizro 模型配置,运行相关验证操作 |
validate_chart_code | 验证用户创建的图表代码 |
get_vizro_chart_or_dashboard_plan
主要功能:
获取创建 Vizro 图表或仪表板的说明。当被要求创建 Vizro 相关内容时,首先调用此工具。
必须始终先以 advanced_mode=False
调用,若 JSON 配置不再够用,再以 advanced_mode=True
再次调用。
参数:
user_plan
:用户想要创建的 Vizro 内容类型。
advanced_mode
:仅当需要使用自定义 CSS、自定义组件或自定义操作时调用。如果需要高级图表,无需使用 advanced_mode=True
调用此工具,而是在 validate_dashboard_config
工具中使用 custom_charts
。
返回:
创建 Vizro 图表或仪表板的说明。
get_model_json_schema
主要功能:
获取指定 Vizro 模型的 JSON 模式。
参数:
model_name
:要获取模式的 Vizro 模型的名称(例如,“Card”、“Dashboard”、“Page”)
返回:
所请求的 Vizro 模型的 JSON 模式
get_sample_data_info
主要功能:
如果用户未提供数据,使用此工具获取样本数据信息。
可将以下数据用于以下用途:
- iris(鸢尾花数据集):主要是数值型数据,包含一个分类列,适用于散点图、直方图、箱线图等。
- tips(小费数据集):包含数值型和分类列的混合数据,适用于条形图、饼图等。
- stocks(股票数据集):股票价格数据,适用于折线图、散点图,通常适用于随时间变化的数据。
- gapminder(盖普曼德数据集):人口统计数据,适用于折线图、散点图,通常适用于涉及地图或多分类的内容。
参数:
data_name
:要获取样本数据的数据集名称
返回:
包含数据集相关信息的数据信息对象
load_and_analyze_data
主要功能:
用于了解本地或远程数据文件。必须使用绝对路径或 URL 调用。
支持的格式:
- CSV(.csv)
- JSON(.json)
- HTML(.html, .htm)
- Excel(.xls, .xlsx)
- 开放文档电子表格(.ods)
- Parquet(.parquet)
参数:
path_or_url
:数据文件的绝对(重要!)本地路径或 URL
返回:
包含 DataFrame 信息和元数据的 DataAnalysisResults
对象
validate_dashboard_config
主要功能:
验证 Vizro 模型配置。当你有完整的仪表板配置时,务必运行此工具。
如果验证成功,该工具将返回 Python 代码;如果是远程文件,将返回图表的 py.cafe 链接。如果 auto_open
为 True
,PyCafe 链接将在你的默认浏览器中自动打开。
参数:
dashboard_config
:表示 Vizro 仪表板模型配置的 JSON 字符串或字典data_infos
:包含数据文件相关信息的DFMetaData
对象列表custom_charts
:包含仪表板中自定义图表相关信息的ChartPlan
对象列表auto_open
:是否在浏览器中自动打开 PyCafe 链接
返回:
包含状态和仪表板详情的 ValidationResults
对象
validate_chart_code
主要功能:
验证用户创建的图表代码,也可选择在浏览器中打开 PyCafe 链接。
参数:
chart_config
:带有图表配置的ChartPlan
对象data_info
:要在图表中使用的数据集的元数据auto_open
:是否在浏览器中自动打开 PyCafe 链接
返回:
包含状态和仪表板详情的 ValidationResults
对象
五.Vizro工具包核心优势
- 低代码高效开发:无需精通前端技术,通过几行Python代码或JSON配置,即可构建多图表、多控件的仪表板(传统方案需数百行代码,Vizro可缩短80%开发时间)。
- 专业视觉设计:内置视觉设计最佳实践(如配色方案、图表布局、标签规范),默认生成的仪表板符合企业级审美,无需额外设计调整。
- 高度灵活可定制:支持高级用户通过Python、JavaScript、CSS扩展功能(如自定义图表交互逻辑、添加企业Logo),兼顾“低代码便捷性”与“定制化需求”。
- AI赋能创新:Vizro-AI扩展包支持“自然语言→可视化代码”转化,例如输入“展示各国家GDP与寿命的关系,按大洲分组”,即可自动生成气泡图代码。
- 生产级部署能力:基于Plotly Dash底层框架,支持大规模数据处理(百万级数据量无卡顿),可直接部署到云服务器,支持多用户同时访问。
总结
通过“Trae + Vizro”的集成方案,我们打破了数据可视化的技术壁垒,构建了一套“需求→代码→部署→分享”的全自动化工作流。无论是业务分析师快速制作临时报表,还是工程师开发企业级数据平台,这套方案都能兼顾“效率”与“专业性”——业务人员无需学习复杂编码,即可通过自然语言生成可视化结果;工程师则可借助MCP的自动化能力,减少重复工作,聚焦核心功能优化。
对于追求数据驱动决策的团队而言,Trae x Vizro的组合,不仅是“工具的集成”,更是“工作流的革新”。它让数据可视化从“工程师专属任务”,转变为“全员可参与的高效协作”,真正实现“让数据说话,让洞察更快落地”。