news 2026/6/22 0:37:21

Vue3 桑基图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vue3 桑基图

效果图:

<template> <v-chart ref="vChartRef" :option="option"></v-chart> </template> <script setup lang="ts"> import { ref, reactive } from "vue"; import VChart from "vue-echarts"; import { use } from "echarts/core"; import { CanvasRenderer } from "echarts/renderers"; import { SankeyChart } from "echarts/charts"; import { DatasetComponent, GridComponent, TooltipComponent, LegendComponent, } from "echarts/components"; import cloneDeep from "lodash/cloneDeep"; use([ DatasetComponent, CanvasRenderer, SankeyChart, GridComponent, TooltipComponent, LegendComponent, ]); const vChartRef = ref<typeof VChart>(); const chartData = ref<any>({ label: [ { name: "a", }, { name: "b", }, { name: "a1", }, { name: "a2", }, { name: "b1", }, { name: "b2", }, ], links: [ { source: "a", target: "a1", value: 5, }, { source: "a", target: "a2", value: 3, }, { source: "b", target: "b1", value: 8, }, { source: "a", target: "b1", value: 3, }, { source: "b1", target: "a1", value: 1, }, { source: "b1", target: "b2", value: 2, }, ], }); const seriesItem = ref<any>({ type: "sankey", layout: "none", data: <any>[], links: <any>[], animation: true, animationDuration: 1000, animationEasing: 'cubicOut', // 节点配置 nodeWidth: 20, nodeGap: 8, nodeAlign: 'justify', // 节点对齐方式: 'left', 'right', 'center', 'justify' // 边配置 lineStyle: { color: 'source', // 或 'target', 'gradient' opacity: 0.4, curveness: 0.5, // 边的曲率 width: 'emphasis' // 或具体数值 }, // 节点标签 label: { show: true, position: 'right', // 'left', 'right', 'top', 'bottom', 'inside' color: '#333', fontSize: 12, fontWeight: 'normal', overflow: 'truncate' // 文本溢出处理 }, // 节点标签高亮 labelLayout: { hideOverlap: true, // 隐藏重叠标签 moveOverlap: 'shiftY' // 移动重叠标签 }, // 高亮状态 emphasis: { focus: 'adjacency', // 高亮相邻节点和边 blurScope: 'coordinateSystem' // 淡化范围 }, // 选中状态 select: { disabled: false // 是否禁用选中 }, // 节点高亮样式 emphasisNode: { label: { show: true, color: '#000', fontSize: 14, fontWeight: 'bold' } }, // 边高亮样式 emphasisLineStyle: { opacity: 0.8, width: 2 }, // 渐变色配置 // color: [ // '#5470c6', // '#91cc75', // '#fac858', // '#ee6666', // '#73c0de', // '#3ba272', // '#fc8452', // '#9a60b4', // '#ea7ccc' // ], // 数据排序 orient: 'horizontal', // 'vertical' // 拖拽配置 draggable: true, // 是否可拖拽 // 节点层级配置 levels: [ { depth: 0, itemStyle: { color: '#fbb4ae' }, label: { color: '#000' } }, { depth: 1, itemStyle: { color: '#b3cde3' } }, { depth: 2, itemStyle: { color: '#ccebc5' } } ] }); const getSeries = () => { let series: any = []; const values = chartData.value; if (values.label === undefined || values.links === undefined) { return; } //系列模板 let item: any = cloneDeep(seriesItem.value); item.data = values.label; item.links = values.links; series = item; return series; }; const option = reactive({ // 标题配置 title: { show: true, text: '桑基图', left: 'center', textStyle: { fontSize: 16, fontWeight: 'bold' } }, // 提示框 tooltip: { show: true, trigger: 'item', triggerOn: 'mousemove', formatter: (params: any) => { if (params.dataType === 'node') { return `${params.name}<br/>总量: ${params.value || 0}`; } else if (params.dataType === 'edge') { return `${params.data.source} → ${params.data.target}<br/>流量: ${params.data.value}`; } return ''; } }, // 图例 legend: { show: true, type: 'scroll', // 可滚动 orient: 'horizontal', left: 'center', top: 'bottom' }, // 网格配置 grid: { show: false, left: '10%', right: '10%', top: '10%', bottom: '15%' }, series: getSeries(), }) </script>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/21 9:58:40

Langchain-Chatchat问答置信度评估与展示

Langchain-Chatchat问答置信度评估与展示 在企业知识管理日益智能化的今天&#xff0c;一个核心挑战浮出水面&#xff1a;如何让AI生成的回答不仅快速准确&#xff0c;还能被用户真正信任&#xff1f;尤其是在法律、医疗、金融这类对信息准确性要求极高的领域&#xff0c;一句未…

作者头像 李华
网站建设 2026/6/21 9:23:06

基于回声状态神经网络(ESN)的回归预测模型优化与评价指标详解

回声状态神经网络(ESN)回归预测&#xff0c;代码非Matlab工具箱——可选择优化算法&#xff0c;如SSA,GEO,WOA,SMA进行优化改进等。模型评价指标包括:R2、MAE、MSE、RMSE和MAPE等&#xff0c;代码质量极高&#xff0c;方便学习和替换数据。手搓回声池&#xff1a;用Python搞ESN…

作者头像 李华
网站建设 2026/6/21 7:35:35

双Richards方程双渗模型

双 Richards 方程双渗模型。 在裂隙发育完全的边坡&#xff0c;可以使用等效法将裂隙平均到基质中&#xff0c;使用两个里查兹方程来方便描述裂隙的渗流情况和基质的渗流情况&#xff0c;并考虑裂隙与基质的水交换。 从数值模拟的结果可以看出&#xff1a;当降雨强度较低时&…

作者头像 李华
网站建设 2026/6/21 12:39:30

咱们今天聊点硬核的——用COMSOL搞基质裂缝双重介质里的油水两相流。别慌,我保证不甩公式砸死你,直接上手操作才是硬道理

comsol案例&#xff0c;两相流体&#xff0c;基于基质裂缝双重介质达西定律流动模式先看模型骨架&#xff1a;基质像海绵负责储油&#xff0c;裂缝当高速公路负责运油。这哥俩得分开建模但又得勾搭着传质。在COMSOL里直接调出达西定律和两相流物理场&#xff0c;注意这里得同时…

作者头像 李华
网站建设 2026/6/21 19:50:21

【课程设计/毕业设计】基于SpringBoot的足球俱乐部管理系统的设计与实现基于springboot的足球训练营系统的设计与实现设计与实现【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/21 0:09:26

Java计算机毕设之基于springboot的足球训练营系统的设计与实现设计与实现训练数据记录与分析、教练资源调度(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华