news 2026/6/24 10:59:15

4.4 进阶可视化:构建多维数据画像与 AI 关系图谱

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
4.4 进阶可视化:构建多维数据画像与 AI 关系图谱

在上一节中,我们引入了 ECharts 和 Three.js 实现了惊艳的趋势折线图和 3D 数据星系。但对于一个专业的AI Data Analyzer而言,这还不够。AI 强大的地方在于发现隐藏的特征维度复杂网络关系

本节我们将继续深挖 ECharts 的潜力,在 Dashboard 中补充两种极具业务价值的进阶图表:多维特征雷达图 (Radar)AI 知识关系图谱 (Force-directed Graph)

源码地址:https://github.com/you-want/ai-data-analyzer
欢迎 star, 支持一波。


1. 雷达图:呈现用户群体多维画像

在数据分析中,我们经常需要对不同类型的用户或商品进行全方位的对比评估。比如经过 AI 聚类分析后得出的“核心高净值用户”与“高潜社交活跃用户”在多个维度上的差异。此时,雷达图是最好的选择。

我们在frontend/src/components/charts/目录下新建UserRadarChart.tsx

"use client"; import React, { useMemo } from 'react'; import ReactECharts from 'echarts-for-react'; export default function UserRadarChart() { const isDark = false; // 实际可接入 next-themes const option = useMemo(() => ({ backgroundColor: 'transparent', tooltip: {}, legend: { data: ['核心高净值用户', '高潜社交活跃用户'], bottom: 0, textStyle: { color: isDark ? '#A1A1AA' : '#4B5563' } }, radar: { indicator: [ { name: '消费力 (Spends)', max: 100 }, { name: '活跃度 (Activity)', max: 100 }, { name: '忠诚度 (Loyalty)', max: 100 }, { name: '转化率 (Conversion)', max: 100 }, { name: '社交影响力 (Social)', max: 100 } ], splitArea: { areaStyle: { color: isDark ? ['#27272A', '#18181B'] : ['#F9FAFB', '#F3F4F6'], } } }, series: [{ name: '用户群体多维画像', type: 'radar', data: [ { value: [85, 90, 80, 75, 60], name: '核心高净值用户', itemStyle: { color: '#3B82F6' }, // 蓝色 areaStyle: { opacity: 0.3 } }, { value: [50, 60, 45, 40, 85], name: '高潜社交活跃用户', itemStyle: { color: '#10B981' }, // 绿色 areaStyle: { opacity: 0.3 } } ] }] }), [isDark]); return ( <div className="bg-white dark:bg-zinc-900 p-6 rounded-2xl shadow-sm border border-gray-100 dark:border-zinc-800 flex flex-col h-full"> <h3 className="text-lg font-semibold text-gray-800 dark:text-zinc-100 mb-1">群体多维特征画像 (Radar)</h3> <div className="flex-1 min-h-[300px]"> <ReactECharts option={option} style={{ height: '100%', width: '100%' }} /> </div> </div> ); }

2. 关系图谱:揭示隐藏的业务脉络

AI 分析的另一大杀器是知识图谱。例如,用户、商品、营销活动之间存在着错综复杂的联系。使用 ECharts 的graph图表结合force物理力导向布局,我们可以直观地将这种网状结构可视化出来。

新建KnowledgeGraphChart.tsx

"use client"; import React, { useMemo } from 'react'; import ReactECharts from 'echarts-for-react'; export default function KnowledgeGraphChart() { const isDark = false; const option = useMemo(() => ({ backgroundColor: 'transparent', tooltip: { formatter: '{b}' }, series: [ { type: 'graph', layout: 'force', // 核心:使用力导向布局 roam: true, // 允许鼠标拖拽和滚轮缩放 symbolSize: 50, label: { show: true, position: 'right' }, edgeSymbol: ['circle', 'arrow'], // 连线带有箭头 force: { repulsion: 300, // 节点间的斥力因子 edgeLength: [50, 150] // 连线的长度范围 }, data: [ { name: '旗舰手机', symbolSize: 60, itemStyle: { color: '#3B82F6' } }, { name: '降噪耳机', symbolSize: 40, itemStyle: { color: '#10B981' } }, { name: '年轻极客', symbolSize: 70, itemStyle: { color: '#8B5CF6' } }, { name: '商务精英', symbolSize: 50, itemStyle: { color: '#EC4899' } } ], links: [ { source: '年轻极客', target: '旗舰手机', value: '偏好购买' }, { source: '商务精英', target: '旗舰手机', value: '商务复购' }, { source: '商务精英', target: '降噪耳机', value: '刚需配件' }, ], lineStyle: { opacity: 0.7, width: 1.5, curveness: 0.1 } // 略微弯曲的连线 } ] }), [isDark]); return ( <div className="bg-white dark:bg-zinc-900 p-6 rounded-2xl shadow-sm border border-gray-100 dark:border-zinc-800 flex flex-col h-full"> <h3 className="text-lg font-semibold text-gray-800 dark:text-zinc-100 mb-1">AI 知识图谱与实体关系 (Graph)</h3> <div className="flex-1 min-h-[300px]"> <ReactECharts option={option} style={{ height: '100%', width: '100%' }} /> </div> </div> ); }

3. 终极奥义:“Chat-to-Chart” 动态渲染

在我们的项目中,这两个图表的数据目前是写死的。但在真实的 AI Agent 系统中,ECharts 最大的优势在于它的配置项 (option) 是一个纯 JSON 对象

这意味着,我们可以直接通过 Prompt 让后端的 Nest.js AI Agent 动态生成这个 JSON!

流程如下:

  1. 用户输入:“请对比一下华东区和华南区的用户特征差异”。
  2. 后端大模型解析意图,从数据库提取数据,并构造出适合展示雷达图的 ECharts JSON 对象。
  3. 前端接收到这个 JSON,直接赋值给<ReactECharts option={aiGeneratedOption} />

“对话即生成图表” (Chat-to-Chart),这才是下一代 AI 智能分析仪表盘的终极形态!在后续的章节中,我们将探索如何打通前后端,实现这种令人惊叹的动态渲染体验。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 10:56:13

Altium Designer 在PCB布局时,如何隐藏器件位号丝印

方法一&#xff1a;利用搜索全选功能搜索丝印&#xff0c;通过设置丝印显示属性实现隐藏shift F 查找 ,鼠标变成十字&#xff0c;选中丝印选择查找相似对象的对应信息点击小眼睛&#xff0c;隐藏显示隐藏后如何恢复显示随机选中择一个已被隐藏的元器件&#xff0c;点击右侧的器…

作者头像 李华
网站建设 2026/6/24 10:45:08

3步终极指南:完全掌握GTA5线上小助手开源工具

3步终极指南&#xff1a;完全掌握GTA5线上小助手开源工具 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools 你是否在GTA5线上模式中感到束手束脚&#xff1f;面对重复的任务、有限的角色定制和枯燥的游戏…

作者头像 李华
网站建设 2026/6/24 10:43:57

如何三步彻底解决C盘爆红问题:Windows Cleaner实战指南

如何三步彻底解决C盘爆红问题&#xff1a;Windows Cleaner实战指南 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常遇到这样的场景&#xff1a;电脑运行…

作者头像 李华
网站建设 2026/6/24 10:41:44

knowhere | 第一课:项目导论与环境搭建

课程定位 本课是 Knowhere 项目课程的第一课,目标不是立刻深入某个业务函数,而是先建立完整的项目地图:知道这个项目解决什么问题,由哪些运行组件组成,核心代码分别放在哪里,以及如何把本地开发环境启动起来。 学完本课后,你应该能够回答三个问题: Knowhere 为什么不…

作者头像 李华
网站建设 2026/6/24 10:34:10

主流 Windows Hello 红外模组选型科普:传感器、IR 灯选购全指南

Windows Hello 是 Windows 系统原生生物识别登录方案&#xff0c;区别于普通 2D 摄像头&#xff0c;它必须依靠专用红外成像模组完成活体检测、三维面部特征比对&#xff0c;杜绝照片、屏幕翻拍冒充解锁。一套合格的 Hello 模组由红外 CMOS 传感器、IR 补光灯、匹配镜头、ISP 驱…

作者头像 李华
网站建设 2026/6/24 10:28:25

ArkTS的页面路由和弹窗

一、Router 页面路由1. 功能实现应用内不同页面之间的跳转、页面栈管理、页面互相传参&#xff1b;可以实现返回上一页、替换当前页面、退出页面等功能。2. 核心常用router.pushUrl()&#xff1a;跳转新页面&#xff0c;保留上一页页面栈&#xff0c;点击返回可以回到上一页&am…

作者头像 李华