ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

基于AIGC的结构化数据可视化自动生成系统设计与实现|毕设答辩|大数据专业项目|毕设项目|大数据专业

基于AIGC的结构化数据可视化自动生成系统设计与实现|毕设答辩|大数据专业项目|毕设项目|大数据专业

一、项目介绍

摘 要
随着大数据时代的到来,结构化数据分析需求日益增长,但传统可视化工具对用户专业能力要求高、操作繁琐,存在明显的使用门槛。本文设计并实现了一套基于AIGC的结构化数据可视化自动生成系统。系统采用Flask后端框架与Vue3前端技术栈,集成大语言模型与规则引擎双路径图表生成机制,支持用户通过自然语言指令生成多种ECharts图表。系统实现了交互式选区捕获与上下文理解、个性化偏好学习、图表数据双向联动、专业统计分析集成以及数据溯源等核心功能。用户可在数据表格中灵活选择数据,系统自动分析选区特征并生成主动建议;图表悬停高亮对应数据行、点击图表元素可下钻查看原始记录;临时框选数据可驱动主图实时预览。系统同时提供联动看板与数据溯源功能,确保分析过程可解释、可追溯。实验结果表明,该系统有效降低了数据分析门槛,提升了可视化分析效率,为结构化数据的智能探索提供了可行方案。

关键词:AIGC;结构化数据;可视化自动生成;选区驱动;图表联动

研究内容
本文围绕基于AIGC的结构化数据可视化自动生成系统展开,主要研究内容包括以下几个方面:
第一,系统架构设计与技术选型。基于Flask框架构建后端服务,采用SQLite作为数据存储,集成pandas进行数据处理,通过requests库调用大语言模型API。前端采用Vue3框架,结合Pinia状态管理和ECharts图表库,构建响应式用户界面。
第二,选区驱动分析引擎的实现。设计支持Ctrl点选、Shift范围选、鼠标框选等多种交互方式的数据表格组件,实现选区自动高亮与实时统计信息展示。开发选区上下文分析服务,自动计算选区在整体数据中的占比、排名位置、分布特征,识别异常属性,生成分析建议。建立选区历史管理机制,支持选区保存、命名、删除、对比等功能。
第三,智能图表生成机制的设计与实现。构建提示词工程服务,将数据集字段信息、选区上下文、用户偏好画像、对话历史等内容融合为结构化提示词。集成大语言模型API,实现自然语言到ECharts配置的转换。设计规则引擎作为降级方案,确保LLM不可用时系统仍能基于规则生成或修改图表。
第四,图表数据双向联动机制的实现。建立图表元素与原始数据行的映射关系,实现图表悬停时表格行高亮、点击图表元素时筛选出对应数据记录。实现选区变化驱动主图实时预览,形成临时选区预览与历史选区切换的完整闭环。
第五,统计分析功能的集成。基于scipy科学计算库实现描述统计、相关性分析、t检验、卡方检验、ANOVA等统计方法。根据数据特征自动推荐适用的分析方法,并将分析结果以结构化形式呈现。
第六,数据溯源与偏好学习的实现。建立图表溯源记录机制,每张图表关联数据源、参与字段、清洗规则、行索引等信息。构建用户偏好画像,记录历史图表类型和模板,自动推断风格关键词和分析意图,实现个性化图表生成。

Flask框架
Flask是一个使用Python编写的轻量级Web应用框架。它基于Werkzeug WSGI工具箱和Jinja2模板引擎,以简洁、灵活、易扩展著称。Flask的核心设计理念是“微内核”,只提供Web应用最基础的组件,如路由、请求响应处理、会话管理等,其他功能如数据库集成、表单验证、认证授权等则通过丰富的扩展库实现。这种设计使得开发者可以根据项目需求灵活选择组件,避免了传统重型框架的过度封装问题。
在本系统中,Flask作为后端服务框架,负责处理HTTP请求、管理路由、实现会话控制。通过Flask-CORS扩展解决跨域资源共享问题,利用Flask-SQLAlchemy进行数据库操作。应用采用工厂模式创建,在create_app函数中完成配置加载、扩展初始化、蓝图注册和错误处理配置,这种模式便于在测试环境和生产环境之间切换,也支持多个应用实例的独立配置。

Vue3
Vue3是新一代的渐进式JavaScript框架,采用组合式API作为主要开发范式。组合式API将组件的响应式状态和逻辑组织在setup函数中,通过ref和reactive创建响应式数据,通过computed派生计算属性,通过watch监听数据变化。相较于Vue2的选项式API,组合式API提供了更好的逻辑复用能力和类型推导支持,代码组织更加清晰。
Pinia是Vue生态中新一代的状态管理库,被定位为Vuex的替代者。它采用模块化的设计思想,每个store可以独立定义状态、计算属性和方法,支持TypeScript类型推导,且移除了Vuex中的mutations概念,直接将状态修改逻辑写入actions中。本系统使用Pinia管理全局状态,包括用户认证信息、当前数据集、工作区状态、图表数据、对话消息等。通过将状态集中管理,避免了组件间通过props层层传递数据的繁琐,也保证了状态变更的响应性能够正确触发视图更新。

ECharts
ECharts是百度开源的一个基于JavaScript的数据可视化库,提供直观、交互丰富、可高度定制的图表呈现能力。它支持折线图、柱状图、散点图、饼图、雷达图、地图等几十种图表类型,每种图表都提供了丰富的配置选项,用户可以自由调整颜色、样式、动画、交互行为等细节。
ECharts采用声明式的配置方式,开发者只需要提供一个包含title、xAxis、yAxis、series等字段的JSON对象,库引擎即可自动完成图表的渲染和交互绑定。这种设计使得图表配置天然具备结构化、可序列化的特点,非常适合与大语言模型结合,由AI生成符合规范的配置对象。本系统将ECharts作为前端图表渲染引擎,后端生成的图表配置直接以JSON格式传递,前端ChartCanvas组件接收配置后通过echarts.init初始化实例,调用setOption方法完成渲染。同时,通过监听ECharts的click和mouseover事件,实现图表元素与数据表格的双向联动。

二、文档介绍




三、项目设计与实现

系统总体功能设计
本系统采用分层架构设计,将系统划分为表现层、业务逻辑层、数据访问层三个层次,各层之间通过RESTful API进行通信。
数据接入与管理模块负责数据集的创建、存储和查询。模块通过文件上传接口接收CSV或Excel文件,调用Pandas解析数据,执行数据清洗和字段推断,生成字段摘要和清洗摘要,将数据集信息持久化到数据库。模块同时提供分页预览、字段筛选选项生成、演示数据集生成等功能,为上层分析提供数据支撑。
选区分析与历史模块是系统的交互核心。模块在数据表格组件中实现Ctrl点选、Shift范围选、鼠标拖拽框选等多种选择方式,用户选择数据后实时展示选中行数和列数。选区保存时,模块调用上下文分析服务计算选区的统计特征、排名位置、异常属性和分析建议,将选区信息持久化到数据库。选区历史支持列表展示、重命名、删除和对比功能,帮助用户追踪分析过程。
智能图表生成模块将自然语言指令转化为图表配置。模块首先构建结构化提示词,包含数据集字段信息、选区上下文、用户偏好画像、对话历史等,通过大语言模型API生成ECharts配置。若LLM调用失败或返回格式异常,模块自动降级到规则引擎,基于数据特征和指令关键词生成图表。模块还支持图表修改功能,能够根据用户后续指令调整已有图表的标题、类型、颜色等属性。
双向联动模块实现图表与数据的深度交互。模块在图表生成时建立图表元素到原始数据行的映射关系,每个柱子、点、扇区都对应一组数据行索引。用户悬停图表元素时,模块返回对应行索引,前端高亮表格中的相关行。用户点击图表元素时,模块返回筛选结果,刷新溯源面板展示命中记录。用户临时框选表格数据时,模块重新生成图表并进入预览模式,实现选区驱动图表更新。
统计分析模块集成专业统计方法。模块根据数据特征自动推荐适用的分析方法,如存在两个数值字段时推荐相关分析,存在二分类字段和数值字段时推荐t检验,存在多分类字段和数值字段时推荐方差分析,存在两个类别字段时推荐卡方检验。用户选择分析方法后,模块调用SciPy库执行统计计算,返回结构化的分析结果,包含结论性文本和详细统计指标。
个性化偏好模块记录用户的图表生成历史,并自动推断个性化偏好。模块存储用户的主题设置、字体偏好、偏好图表类型、分析路径偏好和风格提示词。自动推断功能从用户的图表历史中提取风格关键词和分析意图,将推断结果注入图表生成提示词,引导模型生成符合用户习惯的图表样式和分析方式。
概念模型设计
根据系统功能需求分析,系统涉及的主要实体包括用户、数据集、选区、图表、对话会话、对话消息、溯源记录、用户偏好等。各实体之间存在明确的关联关系,构成系统的数据基础。
用户与数据集之间存在一对多的关系,一个用户可以拥有多个数据集,一个数据集只能属于一个用户。用户与选区之间也是一对多的关系,用户可以保存多个选区,但每个选区只能属于一个用户。数据集与选区之间存在一对多的关系,一个数据集可以包含多个选区,一个选区只属于一个数据集。图表实体与数据集、选区、用户都存在关联,每张图表必须关联一个数据集和一个用户,可选关联一个选区。对话会话与用户、数据集关联,一个用户可以创建多个对话会话,每个会话可选关联一个数据集。对话消息属于对话会话,一个会话包含多条消息,每条消息可选关联一个图表。溯源记录与图表一一对应,每张图表只有一条溯源记录。用户偏好与用户一一对应,每个用户只有一条偏好记录。




本文围绕基于AIGC的结构化数据可视化自动生成系统的设计与实现展开研究,完成了一套完整的智能数据分析平台开发。系统以Flask为后端框架,Vue3为前端框架,集成大语言模型API,实现了自然语言驱动的图表生成功能。
在数据接入方面,系统支持CSV和Excel文件上传,自动进行数据清洗和字段类型推断,生成字段摘要和清洗摘要。演示数据生成功能提供了三种主题的示例数据集,方便用户快速体验系统功能。
在选区驱动分析方面,系统实现了灵活的数据表格交互,支持Ctrl多选、Shift范围选、列选择等多种方式。选区上下文分析服务能够自动计算选区的占比、排名位置、异常特征和分布特征,生成主动分析建议。选区历史管理功能支持选区保存、重命名、删除和对比,帮助用户追踪分析路径。
在智能图表生成方面,系统设计了融合字段信息、选区上下文、用户偏好、对话历史的提示词工程,通过大语言模型生成符合ECharts规范的图表配置。规则引擎作为降级方案,确保在LLM不可用时系统仍能基于数据特征和指令关键词生成基础图表。图表修改功能支持通过自然语言调整图表标题、类型、颜色等属性。
在双向联动方面,系统建立了图表元素到原始数据行的映射机制,实现了图表悬停高亮表格行、图表点击显示命中记录的功能。选区变化驱动图表实时预览,形成了所见即所选、所选即所绘的交互闭环。看板联动支持多图表协同筛选,提升了数据分析的全局视角。
在统计分析方面,系统集成了描述统计、相关性分析、t检验、卡方检验、方差分析等方法。根据数据特征自动推荐适用的分析技术,并将统计结果转化为自然语言解释,降低专业统计的理解门槛。
在数据溯源方面,系统为每张图表记录源表名、参与字段、行索引、清洗规则快照、选区上下文快照等信息,支持用户查看图表背后的原始数据和预处理过程,增强了分析结果的可信度。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进