测试Demo代码~~
<template>
<div>
<div id="myChart" ref="mapBox" style=" 100%; height: 400px"></div>
</div>
</template>
<script>
import echarts from 'echarts'
import chartMock from '../co-assets/chart-mock.js'
const myOption = {
title: {
text: '折线图堆叠'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
toolbox: {
feature: {
saveAsImage: {}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
},
yAxis: {
type: 'value'
},
series: [
{
name: '1',
type: 'line',
stack: '总量',
data: [120, 132, 101, 134, 90, 230, 210]
},
{
name: '2',
type: 'line',
stack: '总量',
data: [220, 182, 191, 234, 290, 330, 310]
},
{
name: '3',
type: 'line',
stack: '总量',
data: [150, 232, 201, 154, 190, 330, 410]
},
{
name: '4',
type: 'line',
stack: '总量',
data: [320, 332, 301, 334, 390, 330, 320]
},
{
name: '5',
type: 'line',
stack: '总量',
data: [820, 932, 901, 934, 1290, 1330, 1320]
},
{
name: '6',
type: 'line',
stack: '总量',
data: [920, 1032, 1101, 1134, 1390, 1430, 1420]
},
{
name: '7',
type: 'line',
stack: '总量',
data: [1020, 1132, 1201, 1234, 1490, 1430, 1520]
},
{
name: '8',
type: 'line',
stack: '总量',
data: [1220, 1332, 1301, 1334, 1590, 1530, 1620]
},
{
name: '9',
type: 'line',
stack: '总量',
data: [1320, 1432, 1801, 1834, 1890, 1830, 1820]
},
{
name: '10',
type: 'line',
stack: '总量',
data: [2220, 2232, 3201, 3334, 3490, 3530, 3620]
},
{
name: '11',
type: 'line',
stack: '总量',
data: [2420, 2432, 3401, 3434, 3790, 3730, 3820]
},
{
name: '12',
type: 'line',
stack: '总量',
data: [3220, 3232, 4201, 4334, 4490, 5530, 5620]
}
]
}
export default {
data() {
return {}
},
mounted() {
this.myChart = echarts.init(this.$refs.mapBox)
this.setChartOnion()
window.addEventListener('resize', this.resizeTheChart)
},
methods: {
resizeTheChart() {
// console.log("縮放執行中~~~");
if (this.$refs && this.$refs.mapBox) {
const myChartNode = document.getElementById('myChart')
if (myChartNode) {
myChartNode.style.height = myChartNode.offsetWidth * 0.5 + 'px'
}
this.myChart.resize()
}
},
setChartOnion() {
myOption.series.forEach((item, i) => {
item.areaStyle = { color: {} }
item.itemStyle = { color: {} }
// item = {
// name: item.name,
// type: 'line',
// symbol: 'none',
// // symbol:'circle', // 折线点设定为实心点
// // symbolSize: 9, // 设定折线点的大小
// // smooth: true, //折点是圆弧状的
// // showSymbol: true,
// // symbol: "circle", //折点设定为实心点
// // symbolSize: 20,
// stack: item.stack,
// data: item.data,
// itemStyle: { color: {} },
// areaStyle: { color: {} },
// lineStyle: {}
// }
// 設置折線圖顏色
if (chartMock.itemStyleArr[i]) {
item.itemStyle = chartMock.itemStyleArr[i].lineStyle
item.areaStyle.color = chartMock.itemStyleArr[i]['color']
}
})
this.myChart.setOption(myOption)
}
}
}
</script>
export default { itemStyleArr: [ { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#d7f4f8' // 0% 处的颜色 }, { offset: 0.5, color: '#b8eff7' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#4fd6d2', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#4fd6d2' } } }, emphasis: { color: '#4fd6d2', lineStyle: { // 系列级个性化折线样式 2, type: 'dotted', color: '#4fd6d2' // 折线的颜色 } } }, // 线条样式1 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#81befd' // 0% 处的颜色 }, { offset: 0.4, color: '#bad7f5' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#0180ff', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#0180ff' } } }, emphasis: { color: '#0180ff', lineStyle: { // 系列级个性化折线样式 2, type: 'dotted', color: '0180ff' } } }, // 线条样式2 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#b581fd' // 0% 处的颜色 }, { offset: 0.4, color: '#f9e4ff' // 40% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#b581fd', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#b581fd' } } }, emphasis: { color: 'red', lineStyle: { // 系列级个性化折线样式 1, type: 'dotted', color: 'red' } } }, // 线条样式3 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#6699FF' // 0% 处的颜色 }, { offset: 0.4, color: '#9ebbf5' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#6699FF', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#6699FF' } } }, emphasis: { color: '#6699FF', lineStyle: { // 系列级个性化折线样式 1, type: 'dotted', color: '#6699FF' } } }, // 线条样式4 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#FF99FF' // 0% 处的颜色 }, { offset: 0.4, color: '#f7d2f7' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#FF99FF', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#FF99FF' } } }, emphasis: { color: '#FF99FF', lineStyle: { // 系列级个性化折线样式 1, type: 'dotted', color: '#FF99FF' } } }, // 线条样式5 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#2d2df7' // 0% 处的颜色 }, { offset: 0.4, color: '#9898f7' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#2d2df7', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#2d2df7' } } }, emphasis: { color: '#2d2df7', lineStyle: { // 系列级个性化折线样式 1, type: 'dotted', color: '#2d2df7' } } }, // 线条样式6 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#7a4ffb' // 0% 处的颜色 }, { offset: 0.4, color: '#beacf5' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#7a4ffb', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#7a4ffb' } } }, emphasis: { color: '#7a4ffb', lineStyle: { // 系列级个性化折线样式 1, type: 'dotted', color: '#7a4ffb' } } }, // 线条样式7 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#cc3399' // 0% 处的颜色 }, { offset: 0.4, color: '#d08cb9' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#cc3399', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#cc3399' } } }, emphasis: { color: '#cc3399', lineStyle: { // 系列级个性化折线样式 1, type: 'dotted', color: '#cc3399' } } }, // 线条样式8 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#ce3df3' // 0% 处的颜色 }, { offset: 0.4, color: '#df9cf1' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#ce3df3', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#ce3df3' } } }, emphasis: { color: '#ce3df3', lineStyle: { // 系列级个性化折线样式 1, type: 'dotted', color: '#ce3df3' } } }, // 线条样式9 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#ff6666' // 0% 处的颜色 }, { offset: 0.4, color: '#f3a0a0' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#ff6666', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#ff6666' } } }, emphasis: { color: '#ff6666', lineStyle: { // 系列级个性化折线样式 1, type: 'dotted', color: '#ff6666' } } }, // 线条样式10 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#f7aa37' // 0% 处的颜色 }, { offset: 0.4, color: '#f1bf75' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#f7aa37', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#f7aa37' } } }, emphasis: { color: '#f7aa37', lineStyle: { // 系列级个性化折线样式 1, type: 'dotted', color: '#f7aa37' } } }, // 线条样式11 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#ffcc33' // 0% 处的颜色 }, { offset: 0.4, color: '#f5d77e' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#ffcc33', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#ffcc33' } } }, emphasis: { color: '#ffcc33', lineStyle: { // 系列级个性化折线样式 1, type: 'dotted', color: '#ffcc33' } } }, // 线条样式12 { // 颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上 color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#efef33' // 0% 处的颜色 }, { offset: 0.4, color: '#fbfb87' // 100% 处的颜色 }, { offset: 1, color: '#fff' // 100% 处的颜色 } ], global: false // 缺省为 false }, // 背景渐变色 lineStyle: { normal: { color: '#efef33', // 图例的颜色 lineStyle: { // 系列级个性化折线样式 2, type: 'solid', color: '#efef33' } } }, emphasis: { color: '#efef33', lineStyle: { // 系列级个性化折线样式 1, type: 'dotted', color: '#efef33' } } } // 线条样式11 ] };