這篇文章主要介紹“怎么用ECharts畫折線圖”,在日常操作中,相信很多人在怎么用ECharts畫折線圖問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用ECharts畫折線圖”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
目前成都創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、豐都網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
首先,打開ECharts官網(wǎng),在“實(shí)例”菜單中選擇任意一個圖,如圖4-1所示。
▲圖4-1 ECharts實(shí)例
可以看到,左邊顯示的是option,也就是ECharts的具體配置,右邊是對應(yīng)的可視化圖。當(dāng)我們改變左邊的代碼時,右邊的可視化也會實(shí)時改變。當(dāng)左邊的代碼有誤時,右邊則不會顯示可視化,如圖4-2所示。
▲圖4-2 ECharts代碼有誤時的界面
大家應(yīng)該已經(jīng)發(fā)現(xiàn)了,可視化設(shè)置的大部分參數(shù)都在option中,這樣可以幫我們省去很多額外的工作,方便快速調(diào)試。當(dāng)我們調(diào)試出滿意的可視化時,將option加入框架中即可。本文演示的代碼和可視化結(jié)果圖都是基于這個在線工具實(shí)現(xiàn)的。
01 基礎(chǔ)折線圖
在ECharts中,繪制折線圖需要將series中的type設(shè)置為line,代碼如下所示:
option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [450, 232, 301, 734, 1090, 830, 500], type: 'line' }] };
其中,series中的data值序列長度需要和xAxis中的data值序列長度一致,x軸和y軸分別為類別(星期)和數(shù)值,可視化效果如圖4-3所示。
▲圖4-3 基礎(chǔ)折線圖
當(dāng)我們在series中加入?yún)?shù)smooth: true后,可以得到較為光滑的折線(曲線)。代碼如下所示:
option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [450, 232, 301, 734, 1090, 830, 500], type: 'line', smooth: true }] };
可視化結(jié)果如圖4-4所示。
▲圖4-4 基礎(chǔ)折線圖(曲線)
02 多條折線圖
至此我們就學(xué)會了如何繪制單條折線圖,當(dāng)然我們還會遇到繪制多條折線圖的情況,如圖4-5所示。
▲圖4-5 多條折線圖
此時我們在上面單條折線圖的代碼中做少量修改即可,具體代碼如下:
option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, legend: { data: ['A產(chǎn)品銷量', 'B產(chǎn)品銷量','C產(chǎn)品銷量'], left: 'right' }, series: [{ name:'A產(chǎn)品銷量', data: [550, 232, 311, 764, 1090, 830, 500], type: 'line', smooth: true }, { name:'B產(chǎn)品銷量', data: [420, 162, 121, 474, 720, 640, 230], type: 'line', smooth: true }, { name:'C產(chǎn)品銷量', data: [850, 432, 501, 934, 1190, 930, 600], type: 'line', smooth: true }] };
通過觀察可以發(fā)現(xiàn),series中并列了三個字典結(jié)構(gòu),分別存放A~C產(chǎn)品的數(shù)據(jù),我們加入了legend圖例,目的是為了區(qū)分A~C產(chǎn)品的數(shù)據(jù)。需要注意的是,A~C產(chǎn)品數(shù)據(jù)的name字段內(nèi)容需要和legend中的內(nèi)容一一對應(yīng)。
03 堆疊折線圖
有時候,我們需要使用堆疊折線圖來反映不同項的累加情況,此時可以通過在ECharts的series的每項數(shù)據(jù)中加入stack和areaStyle參數(shù)實(shí)現(xiàn),可視化結(jié)果如圖4-6所示。
▲圖4-6 堆疊折線圖
具體實(shí)現(xiàn)代碼如下:
option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, legend: { data: ['A產(chǎn)品銷量', 'B產(chǎn)品銷量','C產(chǎn)品銷量'], left: 'right' }, series: [{ name:'A產(chǎn)品銷量', data: [550, 232, 311, 764, 1090, 830, 500], type: 'line', smooth: true, stack: '總量', areaStyle: {} }, { name:'B產(chǎn)品銷量', data: [420, 162, 121, 474, 720, 640, 230], type: 'line', smooth: true, stack: '總量', areaStyle: {} }, { name:'C產(chǎn)品銷量', data: [850, 432, 501, 934, 1190, 930, 600], type: 'line', smooth: true, stack: '總量', areaStyle: {} }] };
其中,areaStyle用于對區(qū)域填充色彩,如果沒有該參數(shù),區(qū)域?qū)⒉粫刑畛渖?,感興趣的讀者可以刪除該參數(shù)看看效果。堆疊的順序自上到下和數(shù)據(jù)的順序相反,例如代碼數(shù)據(jù)中的順序是ABC,可視化圖中自上到下的順序是CBA。
為了方便辨識堆疊總量數(shù)據(jù)信息,可以在最上層的數(shù)據(jù)中加入label參數(shù),同時加入tooltip方便查閱數(shù)據(jù),修改后的代碼如下:
option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, legend: { data: ['A產(chǎn)品銷量', 'B產(chǎn)品銷量','C產(chǎn)品銷量'], left: 'right' }, tooltip: { trigger: 'axis', axisPointer: { type: 'cross', label: { backgroundColor: '#6a7985' } } }, series: [{ name:'A產(chǎn)品銷量', data: [550, 232, 311, 764, 1090, 830, 500], type: 'line', smooth: true, stack: '總量', areaStyle: {} }, { name:'B產(chǎn)品銷量', data: [420, 162, 121, 474, 720, 640, 230], type: 'line', smooth: true, stack: '總量', areaStyle: {} }, { name:'C產(chǎn)品銷量', data: [850, 432, 501, 934, 1190, 930, 600], type: 'line', smooth: true, stack: '總量', label: { normal: { show: true, position: 'top' } }, areaStyle: {} }] };
可視化結(jié)果如圖4-7所示。
▲圖4-7 堆疊柱狀圖優(yōu)化版
到此,關(guān)于“怎么用ECharts畫折線圖”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!