Echarts桑基图

news/2024/7/24 8:45:09 标签: echarts, vue.js, 前端

关于Echarts的使用方法参考:vue2中echarts的使用_vue2中使用echarts-CSDN博客

实现效果:

代码:

var sysT = {
    "用采": '#2D9BFF',
    "营销系统": '#39BFFF',
    "ERP": '#76C2FF',
    "财务管控": '#5F57FC',
    "PMS": '#2D9BFF',
    "近源层_用采": '#92FFFF',
    "近源层_营销": '#ACFF96',
    "近源层_ERP": '#7583FF',
    "近源层_PMS": '#73C3FF',
    "近源层_财务管控": '#5477FE',
    "资产域": '#5F57F9',
    "客户域": '#7982FE',
    "财务域": '#4F78FE',
    "标准区_用采": '#2B9DFF',
    "标准区_营销系统": '#92FFFF',
    "标准区_ERP": '#38C0FF',
    "标准区_财务管控": '#74C3FF',
    "标准区_PMS": '#AAFF95',
    "分析层自建宽表": '#73C3FF'
}

var nodes = [
    {
        "name": "用采"
    },
    {
        "name": "营销系统"
    },
    {
        "name": "ERP"
    },
    {
        "name": "财务管控"
    },
    {
        "name": "PMS"
    },
    {
        "name": "近源层_用采"
    },
    {
        "name": "近源层_营销"
    },
    {
        "name": "近源层_ERP"
    },
    {
        "name": "近源层_PMS"
    },
    {
        "name": "近源层_财务管控"
    },
    {
        "name": "资产域"
    },
    {
        "name": "客户域"
    },
    {
        "name": "财务域"
    },
    {
        "name": "标准区_用采"
    },
    {
        "name": "标准区_营销系统"
    },
    {
        "name": "标准区_ERP"
    },
    {
        "name": "标准区_财务管控"
    },
    {
        "name": "标准区_PMS"
    },
    {
        "name": "分析层自建宽表"
    }
];
var links = [
    {
        "source": "用采",
        "target": "近源层_用采",
        "value": 500
    },
    {
        "source": "营销系统",
        "target": "近源层_营销",
        "value": 958
    },
    {
        "source": "ERP",
        "target": "近源层_ERP",
        "value": 1080
    },
    {
        "source": "财务管控",
        "target": "近源层_财务管控",
        "value": 2627
    },
    {
        "source": "PMS",
        "target": "近源层_PMS",
        "value": 2109
    },
    {
        "source": "近源层_用采",
        "target": "标准区_用采",
        "value": 355
    },
    {
        "source": "近源层_营销",
        "target": "标准区_营销系统",
        "value": 958
    },
    {
        "source": "近源层_ERP",
        "target": "标准区_ERP",
        "value": 1080
    },
    {
        "source": "近源层_PMS",
        "target": "标准区_PMS",
        "value": 2109
    },
    {
        "source": "近源层_财务管控",
        "target": "标准区_财务管控",
        "value": 2627
    },
    {
        "source": "近源层_用采",
        "target": "客户域",
        "value": 121
    },
    {
        "source": "近源层_营销",
        "target": "客户域",
        "value": 524
    },
    {
        "source": "近源层_ERP",
        "target": "资产域",
        "value": 12
    },
    {
        "source": "近源层_ERP",
        "target": "财务域",
        "value": 80
    },
    {
        "source": "近源层_PMS",
        "target": "资产域",
        "value": 536
    },
    {
        "source": "近源层_PMS",
        "target": "综合域",
        "value": 200
    },
    {
        "source": "近源层_财务管控",
        "target": "财务域",
        "value": 88
    },
    {
        "source": "资产域",
        "target": "UEP两级数据贯通",
        "value": 524
    },
    {
        "source": "客户域",
        "target": "UEP两级数据贯通",
        "value": 608
    },
    {
        "source": "财务域",
        "target": "UEP两级数据贯通",
        "value": 153
    },
    {
        "source": "标准区_用采",
        "target": "UEP两级数据贯通",
        "value": 420
    },
    {
        "source": "标准区_营销系统",
        "target": "UEP两级数据贯通",
        "value": 958
    },
    {
        "source": "标准区_ERP",
        "target": "UEP两级数据贯通",
        "value": 1107
    },
    {
        "source": "标准区_财务管控",
        "target": "UEP两级数据贯通",
        "value": 2628
    },
    {
        "source": "标准区_PMS",
        "target": "UEP两级数据贯通",
        "value": 2109
    },
    {
        "source": "标准区_ERP",
        "target": "智慧供应链",
        "value": 4
    },
    {
        "source": "标准区_PMS",
        "target": "PIS项目",
        "value": 2107
    },
    {
        "source": "标准区_用采",
        "target": "PIS项目",
        "value": 418
    },
    {
        "source": "标准区_营销系统",
        "target": "PIS项目",
        "value": 1252
    },
    {
        "source": "标准区_PMS",
        "target": "供电服务",
        "value": 200
    },
    {
        "source": "标准区_财务管控",
        "target": "智慧供应链",
        "value": 2621
    },
    {
        "source": "标准区_用采",
        "target": "线变关系应用",
        "value": 418
    },
    {
        "source": "近源层_ERP",
        "target": "分析层自建宽表",
        "value": 300
    },
    {
        "source": "近源层_营销",
        "target": "分析层自建宽表",
        "value": 418
    },
    {
        "source": "近源层_用采",
        "target": "分析层自建宽表",
        "value": 418
    },
    {
        "source": "近源层_财务管控",
        "target": "分析层自建宽表",
        "value": 418
    },
    {
        "source": "近源层_PMS",
        "target": "分析层自建宽表",
        "value": 418
    },
    {
        "source": "分析层自建宽表",
        "target": "供电服务",
        "value": 185
    },
    {
        "source": "分析层自建宽表",
        "target": "数据挖掘展示",
        "value": 32
    },
    {
        "source": "分析层自建宽表",
        "target": "营销综合应用",
        "value": 30
    },
    {
        "source": "分析层自建宽表",
        "target": "ERP多维精益",
        "value": 14
    },
    {
        "source": "分析层自建宽表",
        "target": "数据超市场景",
        "value": 4
    },
    {
        "source": "分析层自建宽表",
        "target": "民企清欠场景",
        "value": 1
    }
];


var dataF = [];
var colorList = [];

for (var key in sysT) {
    colorList.push({
        name: key,
        itemStyle: {
            color: sysT[key]
        }
    })
}

for (var i = 0; i < links.length; i++) {
    var color = new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
        offset: 0,
        color: sysT[links[i].source]
    }, {
        offset: 1,
        color: sysT[links[i].target]
    }])
    dataF.push({
        source: links[i].source,
        target: links[i].target,
        value: links[i].value,
        lineStyle: {
            color: color
        }
    })
}
option = {
    tooltip: {
        trigger: 'item',
        triggerOn: 'mousemove'
    },
    emphasis: { // 桑基图的高亮状态。
       focus: 'adjacency'
       // 'none' 不淡出其它图形,默认使用该配置。
       // 'self' 只聚焦(不淡出)当前高亮的数据的图形。
       // 'series' 聚焦当前高亮的数据所在的系列的所有图形。
       // 'adjacency' 聚焦关系图中的邻接点和边的图形。
       // 'trajectory' 聚焦所有连接到当前高亮的数据的节点和边。(从 v5.4.3 开始支持)
    },
    series: [{
        type: 'sankey',
        left: '0', // sankey组件离容器左侧的距离
        data: colorList,
        links: dataF,
        focusNodeAdjacency: 'allEdges',
        itemStyle: {
            // borderWidth: 1,
            borderColor: 'transparent' // 透明
        },
        lineStyle: {
            color: 'source',
            curveness: 0.5
        },
        label: {
          show: true,
          position: 'right',
          formatter: function (params) {
            // params 是节点的数据对象
            // 假设我们设置最大显示长度为5
            let name = params.data.name
            if (name.length > 16) {
              // 截断文本并添加省略号
              return name.slice(0, 16) + '...'
            }
            return name
          }
        },
        nodeWidth: 30, // 设置节点宽度
        nodeGap: 14 // 设置节点间隔
    }]
}


http://www.niftyadmin.cn/n/5547005.html

相关文章

正则表达式-使用笔记

正则使用不当&#xff0c;会导致CPU飙升&#xff1b;场景区分&#xff0c;是判断存在还是提取内容&#xff1b;匹配范围&#xff0c;是匹配部分内容还是整行&#xff1b; 一、初识正则 正则表达式 – 语法 | 菜鸟教程 sparksql 正则匹配总结 https://www.cnblogs.com/he1m4n…

离线运行Llama3:本地部署终极指南_liama2 本地部署

4月18日&#xff0c;Meta在官方博客官宣了Llama3&#xff0c;标志着人工智能领域迈向了一个重要的飞跃。经过笔者的个人体验&#xff0c;Llama3 8B效果已经超越GPT-3.5&#xff0c;最为重要的是&#xff0c;Llama3是开源的&#xff0c;我们可以自己部署&#xff01; 本文和大家…

【7.29-1800】

B. Missing Subsequence Sum 题意&#xff1a;构造一个长度不超过 25 的序列&#xff0c;保证任意子集的和的集合为 { x ∣ 1 ≤ x < k a n d k < x ≤ n } \{x|1\leq x<k ~and ~ k<x\leq n\} {x∣1≤x<k and k<x≤n} 【不会解决空缺的问题&#xff0c;看…

gitee及git的简单使用、下载教(保姆级教程)

前言&#xff1a; GitHub&#xff0c;一个由外国研发的代码开源网站&#xff0c;我们可以通过它获得别人优秀的项目源码&#xff0c;也可以在上面上传自己的劳动成果。但是&#xff0c;我们很难访问外网。于是&#xff0c;我们将目光转向国内一个类似的网站---码云&#xff08…

探索多模态预训练:MAnTiS、ActionCLIP、CPT与CoOp的Prompt技巧

上一篇博文整理了 预训练新范式&#xff08;Prompt-tuning&#xff0c;Prefix-tuning&#xff0c;P-tuning&#xff09; &#xff0c;主要是围绕NLP上的成果&#xff0c;具体的概念本文也不做过多赘述。本篇文章将主要整理几篇有代表性的Prompt方法在多模态领域中的应用。 Mult…

【chatgpt】 PyTorch中reshape和view

在 PyTorch 中&#xff0c;reshape 和 view 都用于改变张量的形状&#xff0c;但它们在实现和使用上有一些重要的区别。理解这些区别对于在复杂的张量操作中选择合适的方法非常关键。 view 方法 连续性要求&#xff1a;view 方法要求原始张量在内存中是连续的。如果张量不是连…

Sql 导入到 Excel 工具

Sql 导入到 Excel 工具 这个VBA宏的步骤如下&#xff1a; 通过文件对话框选择SQL文件。读取文件内容。解析文件中的每一行&#xff0c;如果包含“insert into”&#xff0c;则提取表名。检查是否已经存在以表名命名的工作表&#xff0c;如果不存在则创建新的工作表。将数据插…

基于java+ssm+jsp实现的网上购物系统(文末源码+lw+ppt)23-45

1 摘 要 本文首先实现了网上购物系统设计与实现管理技术的发展随后依照传统的软件开发流程&#xff0c;最先为系统挑选适用的言语和软件开发平台&#xff0c;依据需求分析开展控制模块制做和数据库查询构造设计&#xff0c;随后依据系统整体功能模块的设计&#xff0c;制作系…