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

如何创建蛛网地图|气泡事件+全球发布+关联组合图表开发示例

完整HTML代码

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>挪威夏季奥运会奖牌分布地图 - Highcharts</title> <!-- 引入 Highcharts 核心库 + 地图库 --> <script src="https://cdn.jsdelivr.net/npm/highcharts@10.3.3/highcharts.js"></script> <script src="https://cdn.jsdelivr.net/npm/highcharts@10.3.3/modules/map.js"></script> <script src="https://cdn.jsdelivr.net/npm/highcharts@10.3.3/modules/data.js"></script> <style> #container { width: 100%; height: 85vh; margin: 0 auto; } </style> </head> <body> <div id="container"></div> <script> (async () => { // 加载世界地图拓扑数据 const topology = await fetch( 'https://code.highcharts.com/mapdata/custom/world.topo.json' ).then(response => response.json()); // 奥运会城市数据:城市、国家、年份、纬度、经度、总奖牌、金牌、银牌、铜牌 const data = [ ['亚特兰大', '美国', '1996', 33.75, -84.38, 7, 2, 2, 3], ['悉尼', '澳大利亚', '2000', -33.87, 151.20, 10, 4, 3, 3], ['雅典', '希腊', '2004', 38, 23.72, 6, 5, 0, 1], ['北京', '中国', '2008', 39.92, 116.38, 9, 3, 5, 1], ['伦敦', '英国', '2012', 51.5, -0.12, 4, 2, 1, 1], ['里约热内卢', '巴西', '2016', -22.91, -43.20, 4, 0, 0, 4], ['东京', '日本', '2020', 35.69, 139.69, 8, 4, 2, 2] ]; Highcharts.mapChart('container', { chart: { map: topology }, // 关闭图例 legend: { enabled: false }, // 地图导航(缩放按钮) mapNavigation: { enabled: true, buttonOptions: { verticalAlign: 'bottom' } }, // 地图自适应显示范围 mapView: { fitToGeometry: { type: 'MultiPoint', coordinates: [ [-164, 54], [-35, 84], [179, -38], [-68, -55] ] } }, // 标题(中文) title: { text: '挪威在夏季奥运会获得奖牌分布(1996-2020)', align: 'left' }, // 副标题 subtitle: { text: '数据来源:维基百科', align: 'left' }, // 鼠标悬浮提示框(汉化) tooltip: { headerFormat: '', pointFormat: '{point.city}({point.country} {point.year})<br/>' + '总奖牌数:{point.z}<br/>' + '<span style="color: #ffd700;">●</span> 金牌:{point.gold}<br/>' + '<span style="color: #c0c0c0;">●</span> 银牌:{point.silver}<br/>' + '<span style="color: #cd7f32;">●</span> 铜牌:{point.bronze}<br/>' }, series: [ { name: '世界地图', nullColor: '#fad3cf' // 地图底色 }, { name: '奥运会举办城市', type: 'mapbubble', // 气泡地图类型 color: '#fe5f55', lineWidth: 1, // 数据字段对应关系 keys: [ 'city', 'country', 'year', 'lat', 'lon', 'z', 'gold', 'silver', 'bronze' ], data: data, minSize: '5%', // 气泡最小尺寸 maxSize: '12.5%',// 气泡最大尺寸 } ] }); })(); </script> </body> </html>

1. 图表类型

这是一个世界地图 + 气泡图(Map Bubble)组合图表

  • 底层:世界地图
  • 上层:气泡点→ 代表奥运会举办城市

2. 气泡代表什么?

每个气泡 =一届夏季奥运会

  • 气泡位置 = 举办城市坐标
  • 气泡大小 = 挪威获得的总奖牌数
  • 气泡越大 → 奖牌越多

3. 数据包含哪些信息?

每一行数据对应:

['城市','国家','年份',纬度,经度,总奖牌,金牌,银牌,铜牌]

4. 鼠标悬浮提示(Tooltip)

悬浮在气泡上会显示:

  • 城市、国家、年份
  • 总奖牌数
  • 金牌、银牌、铜牌数量

5. 图表功能

  • ✅ 支持鼠标缩放地图
  • ✅ 支持拖拽移动
  • ✅ 自动适配世界范围
  • ✅ 美观配色 + 中文汉化
  • ✅ 可直接本地运行

6. 适用场景

  • 地理数据可视化
  • 赛事 / 事件全球分布
  • 带数值大小的点位展示
  • 大屏数据展示

你直接复制这段代码保存为.html

双击打开就能看到完整地图图表!

需要我再给你做动态数据版、可切换年份、可筛选奖牌的增强版吗?

http://www.cnnetsun.cn/news/2687185.html

相关文章:

  • 技术简报深度阅读指南:从信息筛选到知识体系构建
  • Google AutoML加速:从自动化调参到MLOps平台化实战解析
  • 哔哩下载姬:免费获取B站高清视频的终极解决方案
  • 别再为公式发愁!手把手教你将Mathtype 7.4完美嵌入WPS(附VBA安装与灰色按钮解决)
  • UE5材质实战:用后期处理体积,5分钟搞定物体轮廓发光效果(含法线边缘检测)
  • PLC电梯控制系(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)_文章底部可以扫码
  • CentOS vs Ubuntu:Redis未授权访问下,为什么任务计划反弹Shell在Ubuntu上会失败?
  • 基于AI与向量数据库构建数字人格:技术实现与伦理思考
  • SI9000损耗仿真实操:从FR4到高速板材,你的5英寸走线在10GHz下“掉血”多少?
  • 告别Docker Hub抽风:手把手教你用SSH给群晖NAS安装ddns-go动态域名
  • Downkyi技术深度解析:如何实现B站视频高效下载的架构设计
  • JDK 安装流程
  • MySQL连接串参数详解:除了allowMultiQueries,这些配置项也能帮你解决Spring Boot里的奇葩数据库错误
  • 前端 Bootstrap 框架基本介绍与使用
  • 小白配置Vscode Claude Code 插件免费使用deepseek-v4-pro模型
  • Vite 5升级踩坑记:告别CJS警告,手把手教你两种配置方案(含package.json与.mts文件详解)
  • eBPF与PSketch实现高效网络流量监控
  • 我要换窗户买谁家?避坑指南与靠谱选择
  • [开发说明书] 北斗定位ATGM336H-5N模块 STM32F103程序代码 正点原子Wifi模块小ESP8266 位置经纬度 高度传感器 上传到Onenet云平台数据显示
  • 真理做空机制:波普尔证伪主义的百年灾难与终结——基于科学史、学术生态与公共政策的跨学科实证研究
  • 我最近在做一个 AI 人格蒸馏的小产品,想听听大家的看法
  • 小伤口引发全身抽搐、窒息?JAMA最新文章提醒:破伤风并没有消失
  • 浏览器市场与用户画像分析-数据加工
  • 无人机红外数据集 深度学习框架 无人机高空红外检测系统pyqt5界面 无人机高空红外数据集 无人机高空红外行人车辆检测数据集
  • VSCode配置QT环境
  • 车载AI Agent Harness:行车安全与交互管控
  • 【AI问答】GO代码循环返值
  • 为什么在线视频工具能做到“无损裁剪”?技术原理与工具推荐
  • Socket、Servlet、Tomcat
  • 10. JavaArrayList 核心笔记