ECharts 复杂折线图示例
创作时间:
作者:
@小白创作中心
ECharts 复杂折线图示例
引用
CSDN
1.
https://m.blog.csdn.net/qq_22182989/article/details/145370011
本文将详细介绍如何使用ECharts实现复杂的自定义折线图,并添加丰富的样式和交互功能。通过本文的学习,你将掌握如何实现一个美观且功能丰富的数据可视化图表。
复杂折线图简介
复杂折线图通常包含多个数据系列、自定义样式、交互功能(如数据区域缩放、提示框等)。它适合展示多维数据的趋势和对比情况,常用于金融、统计、监控等领域。
实现步骤
1. 初始化 ECharts 实例
首先,我们需要初始化一个 ECharts 实例,并绑定到一个 DOM 容器上。
var myChart = echarts.init(document.getElementById('main'));
2. 配置标题与副标题
通过 title 配置项,我们可以为图表添加标题和副标题。
title: {
text: '复杂折线图示例', // 主标题
subtext: '多系列折线图', // 副标题
left: 'center' // 标题居中
}
3. 配置提示框(Tooltip)
通过 tooltip 配置项,我们可以设置鼠标悬停时的提示框内容。
tooltip: {
trigger: 'axis', // 触发类型为坐标轴
axisPointer: {
type: 'line' // 指示器类型为直线
},
formatter: function(params) {
var result = params[0].name + '<br>'; // 提示框标题
params.forEach(function(item) {
result += item.marker + ' ' + item.seriesName + ': ' + item.value + '<br>'; // 提示框内容
});
return result;
}
}
4. 配置图例(Legend)
通过 legend 配置项,我们可以设置图例的位置和数据。
legend: {
data: ['系列1', '系列2', '系列3'], // 图例数据
left: '10%', // 图例位置
top: '10%' // 图例位置
}
5. 配置工具箱(Toolbox)
通过 toolbox 配置项,我们可以添加工具箱,支持数据视图、保存图片等功能。
toolbox: {
show: true, // 显示工具箱
feature: {
dataZoom: { // 数据区域缩放
yAxisIndex: 'none' // 不关联 Y 轴
},
restore: { show: true }, // 显示还原按钮
saveAsImage: { show: true } // 显示保存图片按钮
}
}
6. 配置 X 轴与 Y 轴
通过 xAxis 和 yAxis 配置项,我们可以设置 X 轴和 Y 轴的样式和数据。
xAxis: {
type: 'category', // X 轴类型为类目轴
data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月'], // X 轴数据
boundaryGap: false // 不留空白
},
yAxis: {
type: 'value', // Y 轴类型为数值轴
splitLine: {
show: true // 显示分割线
}
}
7. 配置数据系列(Series)
通过 series 配置项,我们可以添加多个数据系列。每个系列可以设置不同的类型、样式等。
折线图系列
{
name: '系列1', // 系列名称
type: 'line', // 图表类型为折线图
data: [120, 132, 101, 134, 90, 230, 210], // 数据内容
itemStyle: {
color: '#5470C6' // 折线颜色
},
lineStyle: {
width: 3 // 折线宽度
},
symbol: 'circle', // 数据点形状为圆形
symbolSize: 10 // 数据点大小
}
区域填充系列
{
name: '系列2', // 系列名称
type: 'line', // 图表类型为折线图
data: [220, 182, 191, 234, 290, 330, 310], // 数据内容
areaStyle: { // 区域填充样式
color: 'rgba(145, 204, 117, 0.5)' // 填充颜色
},
lineStyle: {
width: 2 // 折线宽度
},
symbol: 'rect', // 数据点形状为矩形
symbolSize: 12 // 数据点大小
}
自定义样式与交互
1. 自定义折线颜色与样式
通过 itemStyle 和 lineStyle 配置项,我们可以自定义折线的颜色和样式。
itemStyle: {
color: '#EE6666' // 折线颜色
},
lineStyle: {
width: 4, // 折线宽度
type: 'dashed' // 折线类型为虚线
}
2. 自定义数据点样式
通过 symbol 和 symbolSize 配置项,我们可以自定义数据点的形状和大小。
symbol: 'triangle', // 数据点形状为三角形
symbolSize: 14 // 数据点大小
3. 添加动画效果
通过 animation 和 animationDuration 配置项,我们可以为图表添加动画效果。
animation: true, // 开启动画
animationDuration: 1000, // 动画时长 1000ms
animationEasing: 'cubicInOut' // 动画缓动效果
4. 添加数据区域缩放
通过 dataZoom 配置项,我们可以添加数据区域缩放功能。
dataZoom: [
{
type: 'inside', // 内置型数据区域缩放
start: 0, // 初始缩放范围
end: 100 // 初始缩放范围
},
{
type: 'slider', // 滑动条型数据区域缩放
start: 0, // 初始缩放范围
end: 100 // 初始缩放范围
}
]
完整代码示例(带详细注释)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ECharts 复杂折线图示例</title>
<!-- 引入 ECharts 的 CDN 文件 -->
<script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2/dist/echarts.min.js"></script>
</head>
<body>
<!-- 创建一个 div 容器,用于放置 ECharts 图表 -->
<div id="main" style="width: 1000px;height:600px;"></div>
<script>
// 初始化 ECharts 实例,绑定到 id 为 'main' 的 DOM 元素上
var myChart = echarts.init(document.getElementById('main'));
// 配置项
var option = {
// 标题配置
title: {
text: '复杂折线图示例', // 主标题
subtext: '多系列折线图', // 副标题
left: 'center' // 标题居中
},
// 提示框配置
tooltip: {
trigger: 'axis', // 触发类型为坐标轴
axisPointer: {
type: 'line' // 指示器类型为直线
},
formatter: function(params) {
var result = params[0].name + '<br>'; // 提示框标题
params.forEach(function(item) {
result += item.marker + ' ' + item.seriesName + ': ' + item.value + '<br>'; // 提示框内容
});
return result;
}
},
// 图例配置
legend: {
data: ['系列1', '系列2', '系列3'], // 图例数据
left: '10%', // 图例位置
top: '10%' // 图例位置
},
// 工具箱配置
toolbox: {
show: true, // 显示工具箱
feature: {
dataZoom: { // 数据区域缩放
yAxisIndex: 'none' // 不关联 Y 轴
},
restore: { show: true }, // 显示还原按钮
saveAsImage: { show: true } // 显示保存图片按钮
}
},
// X 轴配置
xAxis: {
type: 'category', // X 轴类型为类目轴
data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月'], // X 轴数据
boundaryGap: false // 不留空白
},
// Y 轴配置
yAxis: {
type: 'value', // Y 轴类型为数值轴
splitLine: {
show: true // 显示分割线
}
},
// 数据系列配置
series: [
{
name: '系列1', // 系列名称
type: 'line', // 图表类型为折线图
data: [120, 132, 101, 134, 90, 230, 210], // 数据内容
itemStyle: {
color: '#5470C6' // 折线颜色
},
lineStyle: {
width: 3 // 折线宽度
},
symbol: 'circle', // 数据点形状为圆形
symbolSize: 10 // 数据点大小
},
{
name: '系列2', // 系列名称
type: 'line', // 图表类型为折线图
data: [220, 182, 191, 234, 290, 330, 310], // 数据内容
areaStyle: { // 区域填充样式
color: 'rgba(145, 204, 117, 0.5)' // 填充颜色
},
lineStyle: {
width: 2 // 折线宽度
},
symbol: 'rect', // 数据点形状为矩形
symbolSize: 12 // 数据点大小
},
{
name: '系列3', // 系列名称
type: 'line', // 图表类型为折线图
data: [150, 232, 201, 154, 190, 330, 410], // 数据内容
itemStyle: {
color: '#EE6666' // 折线颜色
},
lineStyle: {
width: 4, // 折线宽度
type: 'dashed' // 折线类型为虚线
},
symbol: 'triangle', // 数据点形状为三角形
symbolSize: 14 // 数据点大小
}
],
// 数据区域缩放配置
dataZoom: [
{
type: 'inside', // 内置型数据区域缩放
start: 0, // 初始缩放范围
end: 100 // 初始缩放范围
},
{
type: 'slider', // 滑动条型数据区域缩放
start: 0, // 初始缩放范围
end: 100 // 初始缩放范围
}
],
// 动画配置
animation: true, // 开启动画
animationDuration: 1000, // 动画时长 1000ms
animationEasing: 'cubicInOut' // 动画缓动效果
};
// 将配置项应用到图表中,渲染图表
myChart.setOption(option);
</script>
</body>
</html>
总结
通过本文的学习,你应该已经掌握了如何使用 ECharts 实现复杂的自定义折线图,并添加丰富的样式和交互功能。折线图适合展示数据的变化趋势,能够为你的数据可视化项目增添更多可能性。希望这篇教程对你有所帮助!
热门推荐
脑电波操控未来:科技与人类思维的革命
黄霑:其实我都会抄歌……解密霑叔词曲背后的故事
坐火车什么东西不能带?这些违禁品你需要知道!
蜀汉政权内部的颜色革命,统治阶层由荆州集团变成东州集团
光伏电站监控系统组成全解析
天秤座难过时该怎么安慰 十二星座中对天秤座最好的四个星座
怎么对付天秤座最好
镁在氮气中燃烧及二氧化硫吸收实验详解
明年各地将继续增加保障性住房供给,城中村改造如何影响房价?
又见平遥:血脉传承与心灵史诗
晶体管单管放大电路三种基本接法详解
4050显卡还能用几年?性能表现与未来展望
在希望的田野上丨农忙尽显“科技范儿” 智能设备助力春耕备耕
开车这么多年,可“1升汽油”等于多少斤,你们知道么?
足金秒变金包银,电商黄金市场假证书泛滥,无需寄样10余元可定制
25首经典怀古诗词,荡气回肠,穿透古今
古代宫女12岁前进宫,25岁后出宫,她们出宫后如何生活呢?
数据库设计中如何实现对历史数据的有效管理
充电宝长时间不使用应该如何保存
Web端如何获取手机的唯一标识
门槛石尺寸要求及材料种类安装注意事项
Excel下拉列表选择数据源的多种方法
沥青的生产过程是怎样的?了解这些过程对环境保护有何意义?
“新国风”与“文化魂” ——动画电影《落凡尘》的启示
“份量”十足 “新”意满满 长春北湖未来科学城明确未来三年发展路径
助理工程师职称评定申请指南
新生儿打喷嚏的原因及缓解方法
服药时的用水有讲究,选对疗效能倍增
零基础如何过英语四级
高血压患者不宜喝什么茶