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

ECharts折线图入门学习:从基础到实战的完整指南

引言折线图是数据可视化中最常用的图表类型之一特别适合展示数据随时间变化的趋势。ECharts作为一款功能强大的JavaScript可视化库提供了丰富的配置选项和交互功能能够轻松创建出专业、美观的折线图。本文将带领大家从零开始学习ECharts折线图掌握其核心概念和实用技巧。一、折线图基础概念1. 折线图适用场景展示数据随时间变化的趋势比较多个数据系列的变化趋势分析数据的周期性波动显示数据的最大值、最小值和变化范围2. ECharts折线图特点支持平滑曲线和直角折线可配置多种标记点样式支持多系列叠加显示提供丰富的交互功能缩放、平移、提示框等可与其他图表类型组合使用二、快速入门创建第一个折线图1. 基础HTML结构!DOCTYPEhtmlhtmlheadmetacharsetutf-8titleECharts折线图入门/title!-- 引入ECharts库 --scriptsrchttps://cdn.jsdelivr.net/npm/echarts5.4.3/dist/echarts.min.js/scriptstyle#chart-container{width:800px;height:500px;margin:0 auto;}/style/headbodydividchart-container/divscriptsrcchart.js/script/body/html2. 基本折线图代码chart.js// 初始化图表varchartDomdocument.getElementById(chart-container);varmyChartecharts.init(chartDom);// 配置项varoption{title:{text:2023年每月销售额趋势},tooltip:{trigger:axis},legend:{data:[线上销售额,线下销售额]},xAxis:{type:category,data:[1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月]},yAxis:{type:value,name:销售额万元},series:[{name:线上销售额,type:line,data:[120,132,101,134,90,230,210,182,191,234,290,330],smooth:true// 启用平滑曲线},{name:线下销售额,type:line,data:[220,182,191,234,290,330,310,201,154,190,330,410],symbol:circle,// 数据点标记形状symbolSize:8// 数据点大小}]};// 使用配置项显示图表myChart.setOption(option);// 响应式调整window.addEventListener(resize,function(){myChart.resize();});3. 代码解析初始化通过echarts.init()创建图表实例title设置图表标题tooltip配置提示框trigger: axis表示坐标轴触发legend图例显示系列名称xAxis/yAxis坐标轴配置type: category表示类目轴series数据系列每个对象定义一个折线type: line指定为折线图smooth: true启用平滑曲线symbol和symbolSize配置数据点样式三、核心配置详解1. 坐标轴配置xAxis:{type:category,data:[Mon,Tue,Wed,Thu,Fri,Sat,Sun],axisLabel:{rotate:45,// 标签旋转角度interval:0// 显示所有标签},axisLine:{lineStyle:{color:#999// 坐标轴颜色}}},yAxis:{type:value,name:温度(℃),nameLocation:middle,nameGap:30,min:0,// 最小值max:40,// 最大值splitLine:{lineStyle:{type:dashed// 网格线样式}}}2. 线条样式配置series:[{type:line,lineStyle:{color:#3498db,// 线条颜色width:3,// 线条宽度type:solid,// 线条类型solid/dashed/dottedopacity:0.8// 透明度},areaStyle:{// 区域填充样式color:newecharts.graphic.LinearGradient(0,0,0,1,[{offset:0,color:rgba(52, 152, 219, 0.5)},{offset:1,color:rgba(52, 152, 219, 0.1)}])},itemStyle:{// 数据点样式color:#e74c3c,borderColor:#fff,borderWidth:2}}]3. 标记点与标记区域series:[{type:line,markPoint:{// 标记点data:[{type:max,name:最大值},{type:min,name:最小值},{coord:[3月,101],name:特定点}],symbol:pin,symbolSize:50},markLine:{// 标记线data:[{type:average,name:平均值},{yAxis:200,name:警戒线}],lineStyle:{color:#ff0000,type:dashed}},markArea:{// 标记区域data:[[{xAxis:2月},{xAxis:4月}],[{yAxis:100},{yAxis:200}]],itemStyle:{color:rgba(255, 255, 0, 0.2)}}}]四、进阶技巧1. 动态数据更新// 模拟实时数据更新setInterval(function(){// 生成新数据varnewData1[];varnewData2[];for(vari0;i12;i){newData1.push(Math.round(Math.random()*300100));newData2.push(Math.round(Math.random()*400150));}// 更新图表myChart.setOption({series:[{data:newData1},{data:newData2}]});},2000);2. 数据缩放与平移// 配置数据缩放工具dataZoom:[{type:slider,// 滑动条型数据区域缩放组件xAxisIndex:0,start:0,end:50// 初始显示50%的数据},{type:inside,// 内置型数据区域缩放组件xAxisIndex:0,start:0,end:50}]3. 多坐标轴折线图yAxis:[{type:value,name:温度(℃),position:left},{type:value,name:湿度(%),position:right}],series:[{name:温度,type:line,yAxisIndex:0,// 使用第一个y轴data:[22,24,26,28,30,32]},{name:湿度,type:line,yAxisIndex:1,// 使用第二个y轴data:[45,50,55,60,65,70]}]五、实战案例股票价格走势图varoption{title:{text:AAPL股票价格走势,subtext:2023年1月-12月,left:center},tooltip:{trigger:axis,formatter:function(params){vardateparams[0].axisValue;varvalueparams[0].value;returndatebr/价格: value美元;}},legend:{data:[AAPL],bottom:10},grid:{left:3%,right:4%,bottom:15%,containLabel:true},xAxis:{type:category,boundaryGap:false,data:[2023-01,2023-02,2023-03,2023-04,2023-05,2023-06,2023-07,2023-08,2023-09,2023-10,2023-11,2023-12],axisLabel:{formatter:function(value){returnvalue.split(-)[1]月;}}},yAxis:{type:value,scale:true,name:价格(美元)},series:[{name:AAPL,type:line,data:[130,145,158,162,148,175,182,174,178,189,198,192],symbol:circle,symbolSize:6,lineStyle:{width:3},areaStyle:{color:newecharts.graphic.LinearGradient(0,0,0,1,[{offset:0,color:rgba(52, 152, 219, 0.5)},{offset:1,color:rgba(52, 152, 219, 0.1)}])},markPoint:{data:[{type:max,name:最高价},{type:min,name:最低价}]},markLine:{data:[{type:average,name:平均价}]}}],dataZoom:[{type:inside,start:0,end:100},{start:0,end:100}]};六、常见问题解决图表不显示检查DOM容器是否有明确的高度和宽度确保在DOM加载完成后初始化图表检查控制台是否有错误信息中文乱码确保HTML文件使用UTF-8编码或者显式设置字体textStyle: { fontFamily: Microsoft YaHei }响应式失效确保调用了myChart.resize()方法检查容器是否使用了百分比宽度数据过多导致性能问题使用dataZoom实现数据缩放考虑使用large模式适用于大量数据点对大数据进行采样或聚合七、总结与学习建议通过本文的学习你已经掌握了ECharts折线图的基础知识和进阶技巧。折线图虽然看似简单但通过合理配置可以创造出非常专业的数据可视化效果。下一步学习建议尝试实现一个包含多个折线系列的复杂图表学习使用ECharts的事件系统实现自定义交互探索与其他图表类型如柱状图、散点图的组合使用研究ECharts的动画配置让图表更加生动ECharts官方文档和示例库是最佳的学习资源建议多参考官方示例并尝试修改其中的配置项亲身体验每个参数的作用。祝你数据可视化之路一帆风顺

相关文章:

ECharts折线图入门学习:从基础到实战的完整指南

引言 折线图是数据可视化中最常用的图表类型之一,特别适合展示数据随时间变化的趋势。ECharts作为一款功能强大的JavaScript可视化库,提供了丰富的配置选项和交互功能,能够轻松创建出专业、美观的折线图。本文将带领大家从零开始学习ECharts折…...

别再被@JsonFormat和@DateTimeFormat搞晕了!SpringBoot中时间处理的完整避坑指南

SpringBoot时间格式化终极指南:从JsonFormat到实战避坑 凌晨三点的办公室,咖啡杯已经见底,屏幕上却再次弹出那个熟悉的400错误——"Failed to parse Date value"。这可能是每个Java开发者在处理时间格式时都经历过的噩梦。时间数据…...

第二桌面 + 小龙虾:让企业AI智能体安全落地、全员可用

本文发布于2026年4月1日。引言:从“养虾”到“用虾”,AI落地需要新底座过去几个月,OpenClaw(昵称“小龙虾”)在开发者圈子里火得一塌糊涂。这个开源AI智能体网关,能听懂人话,还能替你操作电脑、…...

BAR和BA

BAR 是请求方发出的“问题”:“我刚才发的那批数据包,你收到了哪几个?”BA 是接收方回复的“答案”:“我收到了第1、3、4、5个包,第2个没收到。”BAR - Block Ack Request(块确认请求) 角色与发…...

别等宕机才后悔!UPS蓄电池定期巡检,这4点才是核心!

|机房里设备林立,大多数人把目光聚焦在服务器、精密空调上。但其实,潜伏在机房角落的“隐形杀手”,往往是看起来默默无闻的UPS蓄电池。今天我们不谈复杂的技术参数,只用大白话讲清楚:为什么蓄电池必须定期巡…...

重磅发布!集装箱式SST直流移动智算中心

NEWS3月28日,台达、汉腾科技与龙芯中科联合宣布重磅发布集装箱式 SST(固态变压器)直流移动智算中心,发布活动于台达吴江制造基地举行。这款全新方案以台达 SST 固态变压器为核心能源支撑,深度集成CPU、AI 加速卡与服务…...

从“工具辅助”到“智慧赋能”:青软青之深度集成LIMS、ELN、AUTO等核心系统,打造全场景智慧实验室新范式

在科研创新迭代加速、检验检测产业升级纵深推进的今天,实验室作为创新源头,其运行效率与管理水平直接决定研发效能与质量。传统依赖人工记录、纸质流转和信息孤岛的模式,已难以适应复杂实验需求与严苛合规监管。智慧实验室,正成为…...

IBM Plex字体家族全攻略:企业级开源字体的应用与实践

IBM Plex字体家族全攻略:企业级开源字体的应用与实践 【免费下载链接】plex The package of IBM’s typeface, IBM Plex. 项目地址: https://gitcode.com/gh_mirrors/pl/plex 企业级字体解决方案的价值解析 在数字产品设计中,字体作为视觉传达的…...

FastAPI系列 4 - 模块化路由的艺术:APIRouter实战指南

1. 为什么需要模块化路由? 第一次用FastAPI开发电商后台时,我把所有路由都堆在main.py里。三个月后这个文件膨胀到2000多行代码,每次修改用户认证逻辑都要在订单处理和商品列表的代码块之间来回翻找。这种经历让我深刻理解了为什么APIRouter会…...

GreenLuma 2025 Manager:Steam游戏库管理工具的一站式解决方案

GreenLuma 2025 Manager:Steam游戏库管理工具的一站式解决方案 【免费下载链接】GreenLuma-2025-Manager An app made in python to manage GreenLuma 2025 AppList 项目地址: https://gitcode.com/gh_mirrors/gr/GreenLuma-2025-Manager GreenLuma 2025 Man…...

class文件加载到内存

‌JVM将class文件加载到内存的过程主要分为三个阶段:加载(Loading)、链接(Linking)和初始化(Initialization)‌,其中链接又细分为验证、准备、解析三个步骤 。 一、加载(…...

DS1881对数型数字电位器I²C驱动详解

1. DS1881 数字电位器驱动深度解析:面向嵌入式系统的IC对数型精密控制方案1.1 器件本质与工程定位DS1881 是 Dallas Semiconductor(后被 Maxim Integrated 收购)推出的单通道 IC 接口对数型数字电位器,其核心价值不在于“可编程电…...

【原创改进代码】考虑电动汽车移动储能特性的多区域电网功率波动平抑优化调控附python代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子…...

Vue-Super-Flow隐藏玩法:不画图,只填空!手把手教你打造可配置的流程图答题组件

Vue-Super-Flow隐藏玩法:不画图,只填空!手把手教你打造可配置的流程图答题组件 在Vue生态中,流程图工具通常被用来构建复杂的可视化编辑界面。但你是否想过,这些工具还能用来做些什么?本文将带你探索一个全…...

AG-UI协议实战:构建智能体驱动的动态前端交互系统

1. AG-UI协议:智能体与前端交互的新范式 第一次听说AG-UI协议时,我正在为一个电商项目头疼——后台AI生成的商品推荐总需要手动同步到前端,代码里到处是setState和事件监听。直到发现这个协议,才明白原来智能体和前端可以像两个老…...

【无标题】vLLM:推理吞吐与尾延迟的资源真相

Chunked Prefil 大小影响哪些? 影响TPOT 和TTFT。 吞吐吗。 吞吐是怎么定义的? 以及QPS怎么定义的,以及并发树的关系? https://support.huaweicloud.com/intl/en-us/bestpractice-modelarts/modelarts_llm_infer_5906026.html Red…...

轻流MCP|让AI从「会回答」走向「能参与实际业务」

当越来越多企业开始把 AI 引入日常工作,一个现实问题也越来越突出: AI 怎么真正接入业务系统,而不是只停留在聊天层? 过去,很多 AI 更擅长回答问题、生成内容、整理信息。它可以帮助人更快完成写作、总结和分析&#x…...

若依管理系统实战:基于Vuex的用户角色权限与动态菜单路由解析

1. 若依管理系统权限控制核心逻辑解析 若依管理系统作为一款基于SpringBoot和Vue的企业级中后台解决方案,其权限控制体系设计得非常精巧。我在实际项目中使用这套方案时,发现它通过前后端协同工作,实现了细粒度的权限管理。整个流程可以概括为…...

VBA数据库解决方案第二十九讲 如何批量修改数据库中的数据

《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…...

汇智信科-机场数字孪生系统

机场数字孪生系统以数字化孪生技术构建机场全要素虚拟映射,精准还原机场、跑道、塔台等设施及飞机运行状态,支持多维度动态监测与可视化管控;通过模拟飞机调度、跑道滑行等全流程作业场景,覆盖机场多角色业务协同,同时…...

竞赛获奖保研加分测评:除了挑战杯,哪些垂直赛事含金量更高?

在 2026 年推免(保研)竞争进入白热化的背景下,工科学子的加分项已不仅仅是绩点的博弈,更是工程实战能力的短兵相接。随着教育部《关于加强新时代卓越工程师培养的指导意见》的深入实施,各大名校对人才的评价标准正从“…...

腾讯云轻量服务器+宝塔面板:新手零代码搭建个人网站的保姆级避坑指南

腾讯云轻量服务器宝塔面板:新手零代码搭建个人网站的保姆级避坑指南 你是否曾经想过拥有一个属于自己的网站,却因为不懂代码和服务器运维而望而却步?现在,即使你没有任何技术背景,也能轻松实现这个梦想。本文将带你一步…...

湖南石材结晶公司

在长沙,无论是高端商场、星级酒店,还是政务大厅、三甲医院,光洁如镜、平整如砥的石材地面,都是其专业形象与高端质感的直接体现。然而,石材作为“面子工程”,长期承受高频人流、设备碾压,极易出…...

APRSPacketLib:嵌入式C库实现APRS协议编解码

1. APRSPacketLib 项目概述 APRSPacketLib 是一个专为业余无线电(Ham Radio)领域设计的轻量级嵌入式 C 语言库,核心目标是 在资源受限的微控制器平台上高效完成 APRS(Automatic Packet Reporting System)协议数据包的…...

Ubuntu 24.04 内核 Kernel Panic 问题排查与解决流程(第二次出现该问题后,永久性解决)

问题描述 系统更新后重启,出现以下错误: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)系统无法正常启动。问题原因分析 错误含义 内核在启动过程中无法找到并挂载根文件系统。unknown-block(0,0) 表示内核完全不知道…...

突破百度网盘限速瓶颈:BaiduPCS-Go命令行客户端完全指南

突破百度网盘限速瓶颈:BaiduPCS-Go命令行客户端完全指南 【免费下载链接】BaiduPCS-Go iikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能 项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go 你是否厌倦了百度网盘那令人抓狂的下载…...

程序员副业指南:从技术到收入的10种变现路径

CSDN程序员副业图谱技术文章大纲副业方向概览技术博客与内容创作:分享技术经验、教程、行业见解在线教育与课程开发:录制视频课程、开设直播讲座开源项目与工具开发:参与或主导开源项目,开发实用工具自由职业与远程工作&#xff1…...

DSP题目:FFT算法的Matlab实现及其应用研究

DSP 题目:FFT算法的Matlab实现及应用研究最近帮室友调毕设的信号处理部分,他拿了个麦克风录的杂音,想把背景的50Hz工频噪音去掉,上来就问我“为啥我fft出来的峰不对”——害,这问题我刚学DSP的时候也踩过无数坑&#x…...

彩灯广告屏PLC控制S7-200程序:包含梯形图、接线图、原理图及IO分配与组态画面详解

彩灯广告屏的PLC控制S7-200程序 程序 我们主要的后发送的产品有,带解释的梯形图接线图原理图图纸,io分配,组态画面上周刚帮客户搞定了一套户外彩灯广告屏的PLC控制项目,用的还是经典的S7-200,本来以为老架构玩不出花…...

【FMCW雷达】频率调制连续波FMCW雷达系统(从波形生成到利用小胞平均常误报率CA-CFAR进行目标检测)【含Matlab源码 15242期】含报告

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞…...