news 2026/4/16 12:05:38

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 { HeatmapChart } from "echarts/charts"; import { DatasetComponent, GridComponent, TooltipComponent, LegendComponent, VisualMapComponent, } from "echarts/components"; import cloneDeep from "lodash/cloneDeep"; import { onMounted } from "vue"; use([ DatasetComponent, CanvasRenderer, HeatmapChart, GridComponent, TooltipComponent, LegendComponent, VisualMapComponent, ]); // 获取图表实例 const vChartRef = ref(); const seriesItem = ref<any>({ type: "heatmap", label: { show: true, }, emphasis: { itemStyle: { borderColor: "#333", borderWidth: 1, shadowBlur: 10, shadowColor: "rgba(0, 0, 0, 0.5)", }, }, progressive: 1000, animation: false, data: <any>[], }); const getSeries = () => { let series: any = []; const values = chartData.value; //系列模板 let item: any = cloneDeep(seriesItem.value); item.data = values.seriesData; series.push(item); return series; }; const option = reactive({ tooltip: { position: "top", }, xAxis: { data: <any>[], axisLabel: { interval: 1, }, }, yAxis: { type: "category", data: <any>[], }, visualMap: { show: true, min: 0, max: 10, itemWidth: 20, itemHeight: 140, calculable: true, orient: "horizontal", inRange: { // 高 -> 低 color: ["#4661c2", "#263253"], }, }, series: <any>[], }); onMounted(() => { option.xAxis.data = chartData.value.xAxis; option.yAxis.data = chartData.value.yAxis; option.series = getSeries(); }); </script>

json

const chartData = ref<any>({ xAxis: [ "12a", "1a", "2a", "3a", "4a", "5a", "6a", "7a", "8a", "9a", "10a", "11a", "12p", "1p", "2p", "3p", "4p", "5p", "6p", "7p", "8p", "9p", "10p", "11p", ], yAxis: [ "Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday", "Sunday", ], seriesData: [ [0, 0, 5], [1, 0, 1], [2, 0, "-"], [3, 0, "-"], [4, 0, "-"], [5, 0, "-"], [6, 0, "-"], [7, 0, "-"], [8, 0, "-"], [9, 0, "-"], [10, 0, "-"], [11, 0, 2], [12, 0, 4], [13, 0, 1], [14, 0, 1], [15, 0, 3], [16, 0, 4], [17, 0, 6], [18, 0, 4], [19, 0, 4], [20, 0, 3], [21, 0, 3], [22, 0, 2], [23, 0, 5], [0, 1, 7], [1, 1, "-"], [2, 1, "-"], [3, 1, "-"], [4, 1, "-"], [5, 1, "-"], [6, 1, "-"], [7, 1, "-"], [8, 1, "-"], [9, 1, "-"], [10, 1, 5], [11, 1, 2], [12, 1, 2], [13, 1, 6], [14, 1, 9], [15, 1, 11], [16, 1, 6], [17, 1, 7], [18, 1, 8], [19, 1, 12], [20, 1, 5], [21, 1, 5], [22, 1, 7], [23, 1, 2], [0, 2, 1], [1, 2, 1], [2, 2, "-"], [3, 2, "-"], [4, 2, "-"], [5, 2, "-"], [6, 2, "-"], [7, 2, "-"], [8, 2, "-"], [9, 2, "-"], [10, 2, 3], [11, 2, 2], [12, 2, 1], [13, 2, 9], [14, 2, 8], [15, 2, 10], [16, 2, 6], [17, 2, 5], [18, 2, 5], [19, 2, 5], [20, 2, 7], [21, 2, 4], [22, 2, 2], [23, 2, 4], [0, 3, 7], [1, 3, 3], [2, 3, "-"], [3, 3, "-"], [4, 3, "-"], [5, 3, "-"], [6, 3, "-"], [7, 3, "-"], [8, 3, 1], [9, 3, "-"], [10, 3, 5], [11, 3, 4], [12, 3, 7], [13, 3, 14], [14, 3, 13], [15, 3, 12], [16, 3, 9], [17, 3, 5], [18, 3, 5], [19, 3, 10], [20, 3, 6], [21, 3, 4], [22, 3, 4], [23, 3, 1], [0, 4, 1], [1, 4, 3], [2, 4, "-"], [3, 4, "-"], [4, 4, "-"], [5, 4, 1], [6, 4, "-"], [7, 4, "-"], [8, 4, "-"], [9, 4, 2], [10, 4, 4], [11, 4, 4], [12, 4, 2], [13, 4, 4], [14, 4, 4], [15, 4, 14], [16, 4, 12], [17, 4, 1], [18, 4, 8], [19, 4, 5], [20, 4, 3], [21, 4, 7], [22, 4, 3], [23, 4, "-"], [0, 5, 2], [1, 5, 1], [2, 5, "-"], [3, 5, 3], [4, 5, "-"], [5, 5, "-"], [6, 5, "-"], [7, 5, "-"], [8, 5, 2], [9, 5, "-"], [10, 5, 4], [11, 5, 1], [12, 5, 5], [13, 5, 10], [14, 5, 5], [15, 5, 7], [16, 5, 11], [17, 5, 6], [18, 5, "-"], [19, 5, 5], [20, 5, 3], [21, 5, 4], [22, 5, 2], [23, 5, "-"], [0, 6, 1], [1, 6, "-"], [2, 6, "-"], [3, 6, "-"], [4, 6, "-"], [5, 6, "-"], [6, 6, "-"], [7, 6, "-"], [8, 6, "-"], [9, 6, "-"], [10, 6, 1], [11, 6, "-"], [12, 6, 2], [13, 6, 1], [14, 6, 3], [15, 6, 4], [16, 6, "-"], [17, 6, "-"], [18, 6, "-"], [19, 6, "-"], [20, 6, 1], [21, 6, 2], [22, 6, 2], [23, 6, 6], ], });
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 23:29:30

2025年六西格玛认证全攻略:从考试趋势到实战价值

在数字化转型加速的背景下&#xff0c;企业对质量管理人才的需求正从单纯的理论掌握转向"数据驱动实战应用"的综合能力。六西格玛认证作为衡量专业能力的重要标尺&#xff0c;其价值与考试体系也在持续演进。本文将系统梳理2025年六西格玛认证的最新趋势、关键信息及…

作者头像 李华
网站建设 2026/4/16 11:15:59

制造业设备状态监控及可视化系统介绍

在数字化制造持续深化的今天&#xff0c;设备运行状态已从“粗放管理”时代进入“精细可控”新阶段&#xff0c;而这一切的起点&#xff0c;来自对设备数据的全面采集与实时监控。 设备状态监控及可视化看板系统正是基于这一理念而构建&#xff0c;以数据为中心&#xff0c;实…

作者头像 李华
网站建设 2026/4/16 11:12:12

TOP 50!边界智能出席中国数字金融独角兽榜单颁奖仪式并作精彩分享

近日&#xff0c;由北京金融街研究院主办的「中国数字金融独角兽榜单 2025 颁奖仪式及交流会」在北京举行。来自清华大学金融科技研究院、西南财经大学全球金融战略实验室、招商银行研究院等权威机构的专家学者&#xff0c;以及边界智能等数字金融独角兽上榜企业代表汇聚现场&a…

作者头像 李华
网站建设 2026/4/15 14:19:30

云服务器入门指南:从概念到核心价值全面解读

在数字化时代&#xff0c;云服务器已成为个人开发者、企业机构开展线上业务的核心基础设施&#xff0c;但仍有不少人对其概念、原理和价值存在认知盲区。简单来说&#xff0c;云服务器&#xff08;Elastic Compute Service&#xff0c;简称ECS&#xff09;是一种基于云计算技术…

作者头像 李华
网站建设 2026/4/16 9:26:18

数据库的索引知识以及常见相关面试题

什么是索引&#xff1f; 数据库索引是一种数据结构&#xff0c;用于快速查找数据库表中的特定数据。它类似于书籍的目录&#xff0c;可以加快数据检索速度。索引是数据库优化的重要手段之一&#xff0c;它可以帮助数据库系统高效地定位到需要的数据行&#xff0c;从而提升查询…

作者头像 李华