echarts折線圖實現(xiàn)部分虛線部分實線效果的方法
更新時間:2024年09月20日 11:34:23 作者:暴富的im
在折線圖中,通常實線表示實際數(shù)據(jù),而虛線用于表示預測數(shù)據(jù),這篇文章主要介紹了echarts折線圖實現(xiàn)部分虛線部分實線效果的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
場景:
折線圖一般都是實線為準,但是由于最后一個數(shù)據(jù)是預測。所以想要實現(xiàn)最后一段為虛線。
效果圖:

具體實現(xiàn):
series:[
{
name: "銷售總金額",
type: "line",
smooth: true,
barWidth: 10,
stack: 'Total',
itemStyle: {
normal: {
color: "#F02FC2",
lineStyle: {
width: 2,
type: 'solid' //'dotted'虛線 'solid'實線
}
},
// 強調最后一個數(shù)據(jù)點的樣式
},
data: [1213,232132,4324,2,23,42323,4234,4243223,424334,4324,423423,64456]
PS:重點虛線的那一段的開頭數(shù)據(jù)需要與實線的最后一個數(shù)據(jù)對應
},
{
name: "銷售總金額",
type: "line",
smooth: true,
barWidth: 10,
itemStyle: {
normal: {
color: "#F02FC2",
// 最后一個點的邊框顏色
borderWidth: 2,
lineStyle: {
width: 2,
type: 'dotted',
color: "yellow"http://'dotted'虛線 'solid'實線
}
}
},
data: ["-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", 64456, 52435]
},
]同理:如果中間段的數(shù)據(jù)需要虛線也按這個方法即可。
數(shù)據(jù)處理:
let dataValue = [1, 2, 3, 4, 5, 6];
let dataValue1 = [ ...new Array(dataValue.length - 1).fill('-'), dataValue[dataValue.length - 1]多條線點重合的處理方法
防止多個點以及值為空的情況
this.options = {
tooltip: {
trigger: "axis",
backgroundColor: "rgba(255,255,255,0.8)",
formatter: function (params, ticket, callback) {
var htmlStr = '';
var valMap = {};
for (var i = 0; i < params.length; i++) {
var param = params[i];
var xName = param.name;//x軸的名稱
var seriesName = param.seriesName;//圖例名稱
var value = param.value;//y軸值
var color = param.color;//圖例顏色
//過濾無效值
if (value == '-') {
continue;
}
//過濾重疊值
if (valMap[seriesName] == value) {
continue;
}
if (i === 0) {
htmlStr += xName + '<br/>';//x軸的名稱
}
htmlStr += '<div>';
//為了保證和原來的效果一樣,這里自己實現(xiàn)了一個點的效果
htmlStr += '<span style="margin-right:5px;display:inline-block;width:10px;height:10px;border-radius:5px;background-color:' + color + ';"></span>';
//圓點后面顯示的文本
htmlStr += seriesName + ':' + value;
htmlStr += '</div>';
valMap[seriesName] = value;
}
return htmlStr;
},
axisPointer: {
type: "shadow",
label: {
show: true,
backgroundColor: "#7B7DDC"
}
}
},
legend: {
data: ["銷售總金額", "回款總金額"],
textStyle: {
color: "#B4B4B4"
},
top: "0%"
},
grid: {
left: '0%',
right: '3%',
bottom: '8%',
width: "96%",
containLabel: true
},
xAxis: {
data: this.cdata.category,
axisLine: {
lineStyle: {
color: "#B4B4B4"
}
},
type: 'category',
boundaryGap: true,
},
yAxis: [
{
splitLine: { show: false },
axisLine: {
lineStyle: {
color: "#B4B4B4"
}
},
axisLabel: {
formatter: "{value} "
}
},
{
splitLine: { show: false },
axisLine: {
lineStyle: {
color: "#B4B4B4"
}
},
axisLabel: {
formatter: "{value} "
}
}
],
series: [
{
name: "銷售總金額",
type: "line",
smooth: true,
barWidth: 10,
// stack: 'Total', 這個不去掉會出現(xiàn)多個點
itemStyle: {
normal: {
color: "#F02FC2",
lineStyle: {
width: 2,
type: 'solid' //'dotted'虛線 'solid'實線
}
},
// 強調最后一個數(shù)據(jù)點的樣式
},
data: this.cdata.rateData
},
{
name: "銷售總金額",
type: "line",
smooth: true,
barWidth: 10,
itemStyle: {
normal: {
color: "#F02FC2",
// 最后一個點的邊框顏色
// borderWidth: 2,
lineStyle: {
width: 2,
type: 'dotted',
// color: "yellow"http://'dotted'虛線 'solid'實線
}
}
},
data: this.cdata.mockRateData
},
{
name: "回款總金額",
type: "line",
barWidth: 10,
smooth: true,
itemStyle: {
normal: {
barBorderRadius: 5,
color: "#7e8be9",
lineStyle: {
width: 2,
type: 'solid' //'dotted'虛線 'solid'實線
}
}
},
data: this.cdata.barData [1,2,3,4,'-']
},
{
name: "回款總金額",
type: "line",
barWidth: 10,
smooth: true,
smooth: false,
itemStyle: {
normal: {
// barBorderRadius: 5,
color: "#7e8be9",
// color: "#7e8be9",
lineStyle: {
width: 2,
type: 'dotted' //'dotted'虛線 'solid'實線
}
}
},
data: this.cdata.mockBarData ['-','-','-',4,5]
},
]
}總結
到此這篇關于echarts折線圖實現(xiàn)部分虛線部分實線效果的文章就介紹到這了,更多相關echarts折線圖部分虛線內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
淺談javascript 函數(shù)表達式和函數(shù)聲明的區(qū)別
javascript中聲明函數(shù)的方法有兩種:函數(shù)聲明式和函數(shù)表達式.究竟他們用起來有什么區(qū)別呢,今天就本著打破砂鍋問到底的精神,好好來說說這個讓人神魂顛倒的--函數(shù)聲明。2016-01-01
奉獻給JavaScript初學者的編寫開發(fā)的七個細節(jié)
每種語言都有它特別的地方,對于JavaScript來說,使用var就可以聲明任意類型的變量,這門腳本語言看起來很簡單,然而想要寫出優(yōu)雅的代碼卻是需要不斷積累經驗的。本文利列舉了JavaScript初學者應該注意的七個細節(jié),與大家分享。2011-01-01

