echarts 自動生成option配置

2021-09-01 05:56:54 字數 3417 閱讀 8561

echarts 圖形y軸一般情況下只有一條,但是x軸可能有n(0、1、2…)條,如果需要大量重複的圖形,但是只是x軸的條數不一樣的

通過傳遞的二維陣列判斷x軸的條數,生成相應的配置,而不用為x軸的不同而寫echarts的不同的option,前提是專案中需要大量

echats圖的基礎。由於專案中只是用了折線圖、堆疊柱狀圖,堆疊面積圖,所以我只實現了這幾個圖形的自動生成,如果需要別的自己

寫根據已有的寫一下,很簡單,就是生成乙個json陣列就可以。

/*** 自動生成echarts的option,主要是針對y軸的生成做了,優化,

* 根據y軸的資料,自動生成y軸的配置陣列,每個形狀的圖形,做了乙個

* 目前支援,堆疊柱狀圖,折線圖,堆疊面積圖

*//**

* @author zgli

* 堆疊柱狀圖

*@param divdom:圖表元素的位置,dom div元素

*@param colorarr:圖例的顏色

*//**

* * @param divdom 圖表元素的位置,dom div元素

* @param titlearray 圖表元素的名稱陣列,按照圖元素顯示的順序

* @param colorarr 圖表元素的顏色陣列,按照圖元素顯示的順序

* @param yaxisname 該圖表y軸的名稱,在圖表的左上角顯示

* @param valuearray 這是乙個陣列(二維),第乙個元素是x軸,其他的是y軸

* 最後乙個元素是差異線條,其他的資料元素是柱狀圖的柱。

*/function echartsstackedcolumn(divdom, titlearray,colorarr,yaxisname,valuearray)

,"data": valuearray[i + 1]

}yseries.push(temp);

}/* 生成差異分析的線條, 陣列最後乙個元素 */

var diffline = },

"itemstyle" : } },

"data":valuearray[valuearray.length - 1]

}yseries.push(diffline);

/* y軸配置,結束 */

/* 初始化 echarts 的 dom */

var dom = divdom;

var mychart = echarts.init(dom);

/* echarts option */

option = null;

option =

},legend: ,

grid: ,

color:colorarr,//通過形參傳入圖例的顏色

xaxis : [

],yaxis : [,],

series : yseries

,datazoom: [{}],//初始化滾動條};;

if (option && typeof option === "object")

console.log("差異分析echarts圖表初始化完成:"+yaxisname);

};///* 堆疊狀圖結束 */

/** * 堆疊面積圖

* @author zgli

* @param divdom 圖表元素的位置,dom div元素

* @param titlearray 圖表元素的名稱陣列,按照圖元素顯示的順序

* @param colorarr 圖表元素的顏色陣列,按照圖元素顯示的順序

* @param yaxisname 該圖表y軸的名稱,在圖表的左上角顯示

* @param valuearray 這是乙個陣列(二維),第乙個元素是x軸,其他的是y軸

* 最後乙個元素是差異線條,其他的資料元素是面積圖的面積。

*/function echartsstackedarea(divdom, titlearray,colorarr,yaxisname,valuearray)},

"data" : valuearray[i + 1]

};yseries.push(temp);

}/* 生成差異分析的線條, 陣列最後乙個元素 */

var finalline = },

"areastyle": },

"data" : valuearray[valuearray.length - 1]

};yseries.push(finalline);

/* 初始化 y 軸 完成 */

var mycharscost = echarts.init(divdom);

option = ,

tooltip : }},

legend: ,

color: colorarr,

toolbox: }},

grid: ,

xaxis : [

],yaxis : [

],series : yseries,

datazoom: [{}],

};mycharscost.setoption(option);

};///*成本構成表結束*/

/** * 折線圖

* @author zgli

* @param divdom 圖表元素的位置,dom div元素

* @param titlearray 圖表元素的名稱陣列,按照圖元素顯示的順序

* @param colorarr 圖表元素的顏色陣列,按照圖元素顯示的順序

* @param yaxisname 該圖表y軸的名稱,在圖表的左上角顯示

* @param valuearray 這是乙個陣列(二維),第乙個元素是x軸,其他的是y軸

* 最後乙個元素是差異線條,其他的資料元素是面積圖的面積。

*/function echartsline(divdom, titlearray,colorarr,yaxisname,valuearray);

yseries.push(temp);

}; /* 初始化 y 軸 完成 */

var mycharloan = echarts.init(divdom);

option = ,

// color: ['#d53a35', '#e98f6f', '#6ab0b8', '#334b5c'],

color: colorarr,

// title: ,

tooltip:

合格率: %"

},legend: ,

grid: ,

toolbox: }},

xaxis: ,

yaxis: ,

series: yseries,

datazoom: [{}]

};mycharloan.setoption(option);

};//結束

python自動生成字幕 自動生成字幕軟體?

更新 經過提示發現autosub也不太好用了,我最近發現掛了 也沒有用,如果急需轉錄字幕文字的話建議還是選用其他付費服務吧吧。或者您可以去autosub的github主頁提交issue 那這樣 youtube 自動生成字幕可能就是最划算的了。用法 準備乙個有python 2的機器環境。然後pip i...

自動生成表單

專案開發中,我們要面對很多看似簡單卻很繁瑣的工作,如寫資料訪問層的相關 如果是多層結構則更加煩,幸好有 生成器之類的工具。最近公司的新專案完成了資料訪問和業務控制,接下來要面對很多個頁面的表單設計,頁面布局 拖拉控制項 輸入驗證 form資料繫結和獲取,簡單卻麻煩的事沒完沒了,想想都很害怕。在cnb...

自動生成 serialVersionUID 的設定

1 把滑鼠放在類名上,會出現小燈泡的形狀 點選 add serialversionuid field.即可生成 如果滑鼠放在類名上沒有出現 add serialversionuid field.進行以下操作 第 1 步 安裝generateserialversionuid外掛程式 如上圖所示,點選p...