当前位置: 首页 > news >正文

使用echart绘制拓扑图,树类型,自定义tooltip和label样式,可收缩

效果如图:
在这里插入图片描述
鼠标移上显示
在这里插入图片描述

vue3 - ts文件
“echarts”: “^5.4.3”,

import { EChartsOption } from 'echarts'
import * as echarts from 'echarts/core'
import { TooltipComponent } from 'echarts/components'
import { TreeChart } from 'echarts/charts'
import { CanvasRenderer } from 'echarts/renderers'
echarts.use([TooltipComponent, TreeChart, CanvasRenderer])
export const treeOptions: EChartsOption = {tooltip: {trigger: 'item',triggerOn: 'mousemove',// 自定义数据formatter: function (params) {const data = params.dataconst str = `<div style="background:#FFF;display: flex;justify-content: space-between; gap:10px"><div><p>设备名称:</p><p>设备编号:</p><p>设备状态:</p><p>最新读取时间:</p><p>最新读数:</p></div><div style="text-align: right"><p>${data.name || '-'}</p><p>${data.deviceCode || '-'}</p><p style="color:${data.status ? 'green' : ''}">${data.status ? '在线' : '离线'}</p><p>${data.time || '-'}</p><p>${data.value || '0'}kwh</p></div></div>`return str}},backgroundColor: '#FFFFFF',series: [{type: 'tree',name: '',data: [data],top: '1%',left: '15%',bottom: '1%',right: '15%',emphasis: {itemStyle: {borderWidth: 5}},label: {position: 'left',verticalAlign: 'middle',align: 'right',color: '#fff',backgroundColor: '#F0F2F5',borderRadius: [0, 0, 4, 4],formatter: (params) => {return '{name|' + params.name + '}\n{value|' + params.value + '}'},rich: {name: {backgroundColor: '#0560D2',color: '#fff',align: 'center',fontSize: '14px',padding: [10, 20],borderRadius: [4, 4, 0, 0]},value: {align: 'center',fontSize: '18px',padding: [15, 20],color: '#0560D2'}}},leaves: {label: {verticalAlign: 'middle',align: 'center'}},symbolSize: 10,expandAndCollapse: true,animationDuration: 550,animationDurationUpdate: 750}]
}

处理数据格式如下

const data = {name: '配电机房',value: 100,children: [{name: '1号配电房(kWh)',value: 20,deviceCode: 'ELECT001',time: '2024-03-18 14:42:44',status: true,children: [{name: '1号专变(kWh)',value: 20}]},{name: '2号配电房(kWh)',value: 40,collapsed: true, // 如果为 true,表示此节点默认折叠。children: [{name: '2号专变(kWh)',value: 20},{name: '3号专变(kWh)',value: 20}]},{name: '3号配电房(kWh)',value: 40,children: [{name: '4号专变(kWh)',value: 20},{name: '5号专变(kWh)',value: 10},{name: '6号专变(kWh)',value: 10}]}]
}

依据个人项目框架引入,类似如下

<Echart :options="treeOptionsData" :height="780" />import { EChartsOption } from 'echarts'
import { treeOptions } from './echarts-data'
const treeOptionsData = reactive<EChartsOption>(treeOptions) as EChartsOption
//处理
//treeOptionsData!.series[0].data = ..
http://www.lryc.cn/news/323263.html

相关文章:

  • 常用的6个的ChatGPT网站,国内可用!
  • Linux课程____Samba文件共享服务
  • Java学习day1
  • ByteTrack多目标跟踪——YOLOX详解
  • Linux 常见驱动框架
  • Oracle函数6—递归查询(start with...connect by、sys_connect_by_path、level)
  • 人机交互三原则,网络7层和对应的设备、公钥私钥
  • vue2源码学习01配置rollup打包环境
  • DP:斐波那契数列模型
  • JavaScript高级(十四)----prmise
  • 28 OpenCV 轮廓周围绘制图形
  • 校企合作,助力人才培养——黄冈师范学院-唯众 “实习实训基地”揭牌仪式顺利举行
  • npm audit fix --force
  • 递增四元组
  • 蓝桥杯每日一题——棋盘
  • QT6实现创建与操作sqlite数据库及读取实例(一)
  • 第十四届蓝桥杯JavaB组省赛真题 - 阶乘求和
  • Java毕业设计 基于springboot医院挂号系统 医院管理系统
  • 【MySQL】基本查询(1)
  • 一文讲清!进销存管理系统如何实现锁库及库存冻结?计算月加权平均成本?
  • 将本地项目上传至码云
  • 虚拟化技术
  • 鸿蒙一次开发,多端部署(一)简介
  • 数据结构——单向链表(C语言版)
  • ideaSSM 工厂效能管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目
  • Java反射机制的讲解及其示例说明
  • 20240309web前端_第二周作业_完成游戏导航栏
  • 五、大模型-Prompt
  • 【网络安全】 MSF提权
  • iPHoP:病毒宿主预测