echarts实现湖南省地图并且定时轮询

news/2024/11/15 0:53:51/

1、在HTML页面引入echarts.min.js

javascript"><script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>

2、实现代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><title>湖南省地图</title><script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script><style>#main {width: 100%;height: 600px;background-color: aqua;}</style>
</head>
<body><div id="main"></div><script>const xhr = new XMLHttpRequest();xhr.open('GET', 'hunan.json', true);xhr.onload = function () {if (xhr.status === 200) {echarts.registerMap('hunan', JSON.parse(xhr.responseText));const data = [{ name: '长沙市', value: 120 },{ name: '株洲市', value: 98 },{ name: '湘潭市', value: 76 },{ name: '衡阳市', value: 54 },{ name: '岳阳市', value: 45 },{ name: '常德市', value: 43 },{ name: '张家界市', value: 38 },{ name: '益阳市', value: 35 },{ name: '娄底市', value: 29 },{ name: '郴州市', value: 25 },{ name: '永州市', value: 20 },{ name: '怀化市', value: 18 },{ name: '邵阳市', value: 15 },{ name: '湘西土家族苗族自治州', value: 6 },];const myChart = echarts.init(document.getElementById('main'));const option = {title: {text: '湖南省各市数据情况',subtext: '数据来源于XXX',left: 'center'},tooltip: {trigger: 'item',formatter: '{b}: {c}',axisPointer: {type: 'line' // 可选:使用线状指示器}},visualMap: {min: 0,max: 150,left: 'left',top: 'bottom',text: ['高', '低'],calculable: true,inRange: {color: ['#d94e5d', '#eac736', '#50a3ba']}},series: [{name: '数据量',type: 'map',roam: false,map: 'hunan',label: {show: true,fontSize: 10,position: 'inside',offset: [0, 5],color: '#fff',emphasis: {show: true}},itemStyle: {areaColor: '#323c48',borderColor: '#fff'},data: data}]};myChart.setOption(option);// 封装的轮询函数function startCityPolling() {let currentIndex = 0;setInterval(() => {// 清除之前高亮并重置所有市的颜色option.series[0].data.forEach((item) => {item.itemStyle = {areaColor: '#323c48', // 默认颜色borderColor: '#fff'};});// 高亮当前市并修改颜色const currentItem = option.series[0].data[currentIndex];currentItem.itemStyle = {areaColor: '#ff6347', // 高亮颜色borderColor: '#fff'};// 更新图表配置并刷新显示myChart.setOption(option);// 确保调用 dispatchAction 时,正确的 seriesIndex 和 dataIndexmyChart.dispatchAction({type: 'showTip',seriesIndex: 0, // 确保这是你的系列的索引dataIndex: currentIndex // 当前高亮城市的索引});// 更新当前索引currentIndex = (currentIndex + 1) % option.series[0].data.length; // 使用 option 中的长度保证正常循环}, 2000); // 每2秒切换一次
}// 启动轮询startCityPolling();} else {console.error('无法加载湖南地图数据');}};xhr.send();</script>
</body>
</html>

3、实现效果

其它省份修改对应的json文件即可


http://www.ppmy.cn/news/1528068.html

相关文章

golang学习笔记20——golang微服务负载均衡的问题与解决方案

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…

redis集群模式连接

目录 一&#xff1a;背景 二&#xff1a;实现过程 三&#xff1a;总结 一&#xff1a;背景 redis集群通过将数据分散存储在多个主节点上&#xff0c;每个主节点可以有多个从节点进行数据的复制&#xff0c;以此来实现数据的高可用性和负载均衡。在集群模式下&#xff0c;客户…

PostgreSQL15.x安装教程

一、介绍 PostgreSQL 是一个功能强大的开源关系型数据库系统&#xff0c;基于 C 语言实现&#xff0c;采用 PostgreSQL 许可证&#xff0c;这是一种自由软件许可证&#xff0c;允许用户自由使用、修改和分发源代码&#xff0c;同时支持商业用途而不设强制限制。这使得 Postgre…

SWC(Speedy Web Compiler)

概述 SWC 由 Rust 编写&#xff0c; 既可用于编译&#xff0c;也可用于打包。 对于编译&#xff0c;它使用现代 JavaScript 功能获取 JavaScript / TypeScript 文件并输出所有主流浏览器支持的有效代码。 SWC在单线程上比 Babel 快 20 倍&#xff0c;在四核上快 70 倍。 简…

Nginx引发的惨案

尘封三年的项目突然重新启动,当初的研发人员也早已不见踪影,留给我的只是一个不能访问的页面。 既然当初的项目能正常访问,说明代码是正常的,如今访问不了了,只可能是部署出现了问题。 我看了一下Apollo配置中心配置的注册中心的地址,登录到eureka的管理界面,发现相关…

IM项目-----语音识别子服务

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、搭建思想二、服务器搭建1.继承speechService类,重写业务代码2.编写语音识别服务器类3.建造者类编写 三.测试 前言 语音转换子服务&#xff0c;用于调用语音…

FC优化配置

1.集群扩容CNA时打开bmc 2.给rhel7虚拟机安装tools-需要重启虚拟机 3.FC上创建集群 资源池右击创建集群&#xff08;物理机大于10台&#xff0c;分业务类型创建集群&#xff09; &#xff08;解决集群内主机挂了&#xff0c;动态调整&#xff09; &#xff08;解决集群内个别…

使用集成学习对不同的机器学习方法进行集成

数据入口&#xff1a;数据人才的现场调研 - Heywhale.com 本数据集中有 43 行&#xff0c;19 列&#xff0c;数据集包含如下字段&#xff1a; 首先读取数据&#xff1a; import pandas as pd# 读取Excel文件 data pd.read_excel(数据人才的现场调研.xls)可以输出每一列含有…