news 2026/4/18 12:44:15

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/18 8:44:11

李德毅和马楠联合发文——无人驾驶具身交互智能 Engineering

文章导读&#xff1a;在无人驾驶领域&#xff0c;车道跟踪、车辆流量监控、变道辅助及车道保持等技术已得到广泛应用。然而&#xff0c;无人驾驶系统面临的核心问题在于&#xff1a;无人车能否准确理解人类行为&#xff1f;人类能否及时理解车辆决策&#xff1f;若人车之间未能…

作者头像 李华
网站建设 2026/4/18 11:04:52

多品种小批量生产的质量突围:六西格玛方法的适应性变革

在当今市场需求日益碎片化、个性化趋势明显的背景下&#xff0c;多品种小批量生产模式已成为众多制造企业的常态。然而&#xff0c;这种生产模式也带来了独特的挑战&#xff1a;工艺切换频繁导致过程稳定性差、质量问题难以追溯、成本控制复杂等。许多管理者不禁质疑&#xff1…

作者头像 李华
网站建设 2026/4/18 8:49:10

I2CSPI 沉浸式测试

CH347L I2C 扫描地址Linux- 树莓派测试#!/usr/bin/env python3 # codingutf-8 import ctypes from ctypes import * import sysDEV "/dev/ch34x_pis0" DEV_C c_char_p(DEV.encode())LIB "./libch347.so"# ---- load lib ---- ch347 ctypes.cdll.LoadLi…

作者头像 李华
网站建设 2026/4/18 6:25:31

python-uniapp微信小程序的校园求职交友APP的设计与实现_ze1w640g

文章目录系统截图项目技术简介可行性分析主要运用技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统截图 python-uniapp微信小程序的校园求职交友APP的设计与实现_ze1w640g 项目技术简介 Python版本&a…

作者头像 李华