特点
折线图更多的使用来呈现数据随时间的『变化趋势』
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/echarts.js"></script>
</head>
<body>
<div id="main" style="width: 600px;height:400px;"></div>
<script>
var myChart = echarts.init(document.getElementById('main'))
var xDataArr = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
var yDataArr = [3000, 2800, 900, 1000, 800, 700, 1400, 1300, 900, 1000, 800, 600]
var option = {
xAxis: { type: 'category', data: xDataArr }, yAxis: { type: 'value' }, series: [{
type: 'line', data: yDataArr,
//最大最小值
markPoint: {
data: [{ type: 'max', name: '最大值' }, { type: 'min', name: '最小值' }]
},
//平均值
markLine: { data: [{ type: 'average', name: '平均值' }] },
//标注区间
markArea: { data: [[{ xAxis: '1月' }, { xAxis: '2月' }], [{ xAxis: '7月' }, { xAxis: '8月' }]] },
//是否平滑线条,true为是
smooth: true,
//设置线条样式
lineStyle: { color: 'green', type: 'dashed' }, // 可选值还有 dotted solid
//填充风格
areaStyle: { color: 'pink' },
// 紧挨边缘 boundaryGap boundaryGap 是设置给 x 轴的, 让起点从 x 轴的0坐标开始
boundaryGap: false
},]
}
myChart.setOption(option)
</script>
</body>
</html>
问题
缩放, 脱离0值比例 如果每一组数据之间相差较少, 且都比0大很多, 那么有可能会出现这种情况
解决办法
这显然不是我们想要的效果, 因此可以配置上 scale , 让其摆脱0值比例 scale 配置 scale 应该配置给 y 轴
yAxis: { type: 'value',scale: true }
堆叠图
堆叠图指的是, 同个类目轴上系列配置相同的 stack 值后,后一个系列的值会在前一个系列的值上相加 如果在一个图表中有两个或者多个折线图, 在没有使用堆叠配置的时候, 效果如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/echarts.js"></script>
</head>
<body>
<div id="main" style="width: 600px;height:400px;"></div>
<script>
var myChart = echarts.init(document.getElementById('main'))
var xDataArr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
var yDataArr1 = [120, 132, 101, 134, 90, 230, 210]
var yDataArr2 = [20, 82, 191, 94, 290, 330, 310]
var option = { xAxis: { type: 'category', data: xDataArr }, yAxis: { type: 'value', scale: true }, series: [{ type: 'line', data: yDataArr1 }, { type: 'line', data: yDataArr2 }] }
myChart.setOption(option)
</script>
</body>
</html>
蓝色这条线的y轴起点, 不再是y轴, 而是红色这条线对应的点. 所以相当于蓝色是在红色这条线的基 础之上进行绘制. 基于前一个图表进行堆叠
series中的每一个对象配置相同的stack值, 这个all可以任意写
series: [{ type: 'line', data: yDataArr1, stack: 'all'}, { type: 'line', data: yDataArr2 , stack: 'all'}]