關於Echarts外掛中折線實現自動滾動及單個拐點顏色的設計
阿新 • • 發佈:2021-05-19
親測,十分有效
drawLine() {
// 基於準備好的dom,初始化echarts例項
var SData = [42,40,34,56,13,76,28,36,91,100,82,80,70,65,66,60,50,
];
let myChart = this.$echarts.init(document.getElementById("myChart"));
// 繪製圖表
var option = {
xAxis: {
data: ["1","2" ,"3","4","5","6","7","8","9","10","11","12","13","14", "15","16","17","18"],
axisLine: {
lineStyle: {
color: "#fff",
},
},
splitLine: {
show: false,
},
},
dataZoom: [
//滑動條
{
show: false, //是否顯示滑動條
type: "slider", // 這個 dataZoom 元件是 slider 型 dataZoom 元件
startValue: 0, // 從頭開始。
endValue: 9, // 一次性展示10個。
},
],
yAxis: {
axisLine: {
lineStyle: {
color: "#fff",
},
},
splitLine: {//分割線
show: false,
},
},
series: [
{
name: "銷量",
type: "line",
data: [],
lineStyle: {
normal: {
color: "#dd3300", // 線條顏色
},
},
},
],
};
//單個拐點的設定
for (var k = 0; k < SData.length; k++) {
//主要實現改變特定點樣式程式碼
let obj = {};
if (SData[k] >= 60) {
//判斷是買點
(obj = {
value: SData[k],
itemStyle: {
normal: {
color: "#35B65A", //拐點顏色
borderColor: "green",
borderWidth: 2,
},
},
}),
option.series[0].data.push(obj);
} else {
(obj = {
value: SData[k],
itemStyle: {
normal: {
color: "darkgreen", // 會設定點和線的顏色,所以需要下面定製 line
borderColor: "blue", // 點邊線的顏色
borderWidth: 2,
},
},
}),
option.series[0].data.push(obj);
}
}
myChart.setOption(option);
//實現自動滾動
setInterval(function () {
// 每次向後滾動一個,最後一個從頭開始。
if (option.dataZoom[0].endValue == SData.length) {
option.dataZoom[0].endValue = 10;
option.dataZoom[0].startValue = 0;
} else {
option.dataZoom[0].endValue = option.dataZoom[0].endValue + 1;
option.dataZoom[0].startValue = option.dataZoom[0].startValue + 1;
}
myChart.setOption(option);
}, 2000);
},
由於本人較懶沒下載製作gif圖的軟體,所以我這裡每隔幾秒擷取圖片(哈哈)