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

创建预测图表|代码生成一天内气温的连续波动趋势渐变线

图表上的数据点连接成一条线,说明了一天中温度的波动。通过这种图形表示,可以轻松快速地了解预计气温每小时的变化情况,并突出显示当天的天气预报中的高峰和低谷。

完整代码:

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>冰岛气温小时预报</title> <style> #container { width: 100%; height: 500px; } </style> <script src="https://code.highcharts.com/highcharts.js"></script> </head> <body> <div id="container"></div> <script> (async () => { // 从气象API获取未来几小时的天气预报数据 const json = await fetch( 'https://api.met.no/weatherapi/locationforecast/2.0/compact?lat=64.128288&lon=-21.827774' ).then(response => response.json()); // 提取前10条数据:时间 + 气温 const data = json.properties.timeseries.slice(0, 10).map(el => [ new Date(el.time).getTime(), // X轴:时间戳 el.data.instant.details.air_temperature // Y轴:气温 ]); // 获取当前时间,用于绘制分隔线 const todayDate = new Date(); const today = todayDate.getTime() - todayDate.getTimezoneOffset() * 60 * 1000; // 绘制气温曲线图 Highcharts.chart('container', { // 主标题 title: { text: '冰岛雷克雅未克气温小时预报' }, // 副标题 subtitle: { text: '虚线表示未来预报温度' }, // X轴:时间轴 xAxis: { type: 'datetime', // 当前时间分隔线 plotLines: [{ color: '#4840d6', width: 2, value: today, zIndex: 2, dashStyle: 'Dash', label: { text: '当前时间', rotation: 0, y: 20, style: { color: '#333' } } }] }, // Y轴:温度 yAxis: { title: { text: '温度 (°C)' } }, // 不显示图例 legend: { enabled: false }, // 悬浮提示后缀 tooltip: { valueSuffix: '°C' }, // 数据系列 series: [{ name: '温度', data: data, zoneAxis: 'x', // 按X轴分区 lineWidth: 4, // 线条粗细 // 数据点样式 marker: { lineWidth: 2, lineColor: '#4840d6', fillColor: '#fff' }, // 渐变色线条 color: { linearGradient: { x1: 0, x2: 0, y1: 0, y2: 1 }, stops: [ [0, '#fa4fed'], [1, '#5897ff'] ] }, // 分区:当前时间之前实线,之后虚线 zones: [ { value: today }, // 现在之前:实线 { dashStyle: 'Dot' } // 未来:点线 ] }] }); })(); </script> </body> </html>
  1. 线条含义数据点连成平滑曲线,直观展示一天内气温的连续波动趋势

  2. 展示方式

    • 实线= 已发生 / 当前的温度
    • 虚线= 未来的预报温度
    • 紫色竖线= 当前时间分界线
  3. 图表作用

    • 快速看清每小时气温变化
    • 一眼识别当天温度高峰(最高点)
    • 一眼识别当天温度低谷(最低点)
    • 清晰区分已观测温度预报温度
  4. 核心功能可视化曲线替代纯文字预报,让天气趋势一目了然

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

相关文章:

  • 抖音无水印下载神器:3步搞定批量下载,告别水印烦恼
  • FastReport图片显示踩坑实录:从‘文件找不到’到完美预览,我总结了这3点
  • 3步魔法:让Switch手柄在Windows电脑上完美变身Xbox控制器
  • HS2-HF Patch:如何让HoneySelect2游戏体验更完整?
  • Spring Boot 3 + Vue 3 实战:保姆级教程调用海康威视OpenAPI获取RTSP视频流
  • 设备管理器能看到,软件里却找不到?排查大恒USB3相机连接问题的完整思路
  • ODP怎么转PDF?2026热门转换方法与在线工具对比测评
  • 搭建自己的智能体
  • 比特币钱包密码与助记词智能恢复指南:当记忆碎片遇上开源神器
  • 终极指南:如何零成本掌握WPR系列机器人仿真技术
  • 终极网络资源下载神器:5分钟掌握全平台素材轻松获取技巧
  • Python操控AB PLC避坑指南:pylogix读写数组、字符串和UDT的实战细节
  • 告别版本焦虑:用Anaconda虚拟环境为你的3060 Ti轻松管理多套PyTorch+CUDA组合
  • 终极Mac防休眠解决方案:自动鼠标移动器深度解析
  • 华为设备上MQC实战:用流策略搞定网络流量路径规划(含ACL+OSPF联动)
  • 告别dd命令!用Clonezilla给FT2000+做系统备份,效率提升与避坑指南
  • Honey Select 2终极增强补丁:一站式解决游戏本地化与功能限制的完整指南
  • 深入解析extern “C“:C/C++混合编程的链接规范与二进制兼容性
  • FanControl终极指南:三步搞定Windows电脑风扇噪音与散热优化
  • 如何实现Minecraft完全离线启动?深度解析PrismLauncher-Cracked技术架构
  • 高校生必备的AI论文写作软件有哪些?
  • 爽翻!输入需求,这几款AI论文写作工具自动生成毕业论文初稿!
  • 从EDA工具视角看SystemVerilog:为什么always_comb/ff能让你的设计更“听话”?
  • 终极指南:使用DistroAV NDI插件构建专业级无线视频制作系统
  • 深度解析AMD Ryzen SMU Debug Tool:硬件级调试的终极指南
  • 手把手教你将ST25R3911B NFC库(RFAL V2.8.0)移植到STM32F103C8T6(Keil5环境)
  • HarmonyOS 6.1 全栈实战录 - 14 渲染树透镜:FrameNode 渲染状态感知与高性能 UI 调优实战
  • 盘点免费开源的微信开发框架:从原理到多语言实战(附千字源码)
  • 小鹅通冲刺港股:年营收6亿亏6395万 喜马拉雅卖老股退出 套现2660万美元
  • 从Cityscapes到遥感图像:用MMSegmentation v1.0.0搞定不同领域语义分割数据集的完整配置流程