自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

手把手教你用ECharts畫折線圖

大數(shù)據(jù) 數(shù)據(jù)可視化
折線圖是一種基礎(chǔ)圖表,適合表示數(shù)據(jù)的變化趨勢,常用于時間序列數(shù)據(jù)的表示。

 [[374604]]

在正式學(xué)習(xí)之前,先來了解一個ECharts官網(wǎng)提供的很好用的功能。該功能可以實時顯示代碼的效果,使用方法說明如下。

首先,打開ECharts官網(wǎng),在“實例”菜單中選擇任意一個圖,如圖4-1所示。

https://echarts.apache.org/exampl-es/zh/editor.html?c=area-stack

▲圖4-1 ECharts實例

可以看到,左邊顯示的是option,也就是ECharts的具體配置,右邊是對應(yīng)的可視化圖。當(dāng)我們改變左邊的代碼時,右邊的可視化也會實時改變。當(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é)果圖都是基于這個在線工具實現(xiàn)的。

01 基礎(chǔ)折線圖

在ECharts中,繪制折線圖需要將series中的type設(shè)置為line,代碼如下所示: 

  1. option = {  
  2.     xAxis: {  
  3.         type: 'category',  
  4.         data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']  
  5.     },  
  6.     yAxis: {  
  7.         type: 'value'  
  8.     },  
  9.     series: [{  
  10.         data: [450, 232, 301, 734, 1090, 830, 500],  
  11.         type: 'line'  
  12.     }]  
  13. }; 

其中,series中的data值序列長度需要和xAxis中的data值序列長度一致,x軸和y軸分別為類別(星期)和數(shù)值,可視化效果如圖4-3所示。

▲圖4-3 基礎(chǔ)折線圖

當(dāng)我們在series中加入?yún)?shù)smooth: true后,可以得到較為光滑的折線(曲線)。代碼如下所示: 

  1. option = {  
  2.     xAxis: {  
  3.         type: 'category',  
  4.         data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']  
  5.     },  
  6.     yAxis: {  
  7.         type: 'value'  
  8.     },  
  9.     series: [{  
  10.         data: [450, 232, 301, 734, 1090, 830, 500],  
  11.         type: 'line',  
  12.         smooth: true  
  13.     }]  
  14. }; 

可視化結(jié)果如圖4-4所示。

▲圖4-4 基礎(chǔ)折線圖(曲線)

02 多條折線圖

至此我們就學(xué)會了如何繪制單條折線圖,當(dāng)然我們還會遇到繪制多條折線圖的情況,如圖4-5所示。

▲圖4-5 多條折線圖

此時我們在上面單條折線圖的代碼中做少量修改即可,具體代碼如下: 

  1. option = {  
  2.     xAxis: {  
  3.         type: 'category',  
  4.         data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']  
  5.     }, 
  6.      yAxis: {  
  7.         type: 'value'  
  8.     },  
  9.     legend: {  
  10.         data: ['A產(chǎn)品銷量', 'B產(chǎn)品銷量','C產(chǎn)品銷量'],  
  11.         left: 'right' 
  12.  },  
  13.     series: [{  
  14.         name:'A產(chǎn)品銷量',  
  15.         data: [550, 232, 311, 764, 1090, 830, 500],  
  16.         type: 'line',  
  17.         smooth: true  
  18.     },  
  19.     {  
  20.         name:'B產(chǎn)品銷量',  
  21.         data: [420, 162, 121, 474, 720, 640, 230],  
  22.         type: 'line',  
  23.         smooth: true  
  24.     },  
  25.     {  
  26.         name:'C產(chǎn)品銷量',  
  27.         data: [850, 432, 501, 934, 1190, 930, 600],  
  28.         type: 'line',  
  29.         smooth: true  
  30.     }]  
  31. }; 

通過觀察可以發(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ù)實現(xiàn),可視化結(jié)果如圖4-6所示。

▲圖4-6 堆疊折線圖

具體實現(xiàn)代碼如下: 

  1. option = {  
  2.     xAxis: {  
  3.         type: 'category',  
  4.         data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']  
  5.     },  
  6.     yAxis: {  
  7.         type: 'value'  
  8.     },  
  9.     legend: {  
  10.         data: ['A產(chǎn)品銷量', 'B產(chǎn)品銷量','C產(chǎn)品銷量'],  
  11.         left: 'right'  
  12.     },  
  13.     series: [{  
  14.         name:'A產(chǎn)品銷量',  
  15.         data: [550, 232, 311, 764, 1090, 830, 500],  
  16.         type: 'line',  
  17.         smooth: true,  
  18.         stack: '總量', 
  19.          areaStyle: {}  
  20.     },  
  21.     {  
  22.         name:'B產(chǎn)品銷量',  
  23.         data: [420, 162, 121, 474, 720, 640, 230],  
  24.         type: 'line',  
  25.         smooth: true,  
  26.         stack: '總量',  
  27.         areaStyle: {}  
  28.     },  
  29.     {  
  30.         name:'C產(chǎn)品銷量',  
  31.         data: [850, 432, 501, 934, 1190, 930, 600],  
  32.         type: 'line',  
  33.         smooth: true,  
  34.         stack: '總量',  
  35.         areaStyle: {}  
  36.     }]  
  37. }; 

其中,areaStyle用于對區(qū)域填充色彩,如果沒有該參數(shù),區(qū)域?qū)⒉粫刑畛渖?,感興趣的讀者可以刪除該參數(shù)看看效果。堆疊的順序自上到下和數(shù)據(jù)的順序相反,例如代碼數(shù)據(jù)中的順序是ABC,可視化圖中自上到下的順序是CBA。

為了方便辨識堆疊總量數(shù)據(jù)信息,可以在最上層的數(shù)據(jù)中加入label參數(shù),同時加入tooltip方便查閱數(shù)據(jù),修改后的代碼如下: 

  1. option = {  
  2.     xAxis: {  
  3.         type: 'category',  
  4.         data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']  
  5.     },  
  6.     yAxis: {  
  7.         type: 'value'  
  8.     },  
  9.     legend: {  
  10.         data: ['A產(chǎn)品銷量', 'B產(chǎn)品銷量','C產(chǎn)品銷量'],  
  11.         left: 'right'  
  12. },  
  13.     tooltip: {  
  14.         trigger: 'axis',  
  15.         axisPointer: {  
  16.             type: 'cross',  
  17.             label: {  
  18.                 backgroundColor: '#6a7985'  
  19.             }  
  20.         }  
  21.     },  
  22.     series: [{  
  23.         name:'A產(chǎn)品銷量',  
  24.         data: [550, 232, 311, 764, 1090, 830, 500],  
  25.         type: 'line',  
  26.         smooth: true,  
  27.         stack: '總量',  
  28.         areaStyle: {}  
  29.     },  
  30.     {  
  31.         name:'B產(chǎn)品銷量',  
  32.         data: [420, 162, 121, 474, 720, 640, 230],  
  33.         type: 'line',  
  34.         smooth: true,  
  35.         stack: '總量',  
  36.         areaStyle: {}  
  37.     },  
  38.     {  
  39.         name:'C產(chǎn)品銷量',  
  40.         data: [850, 432, 501, 934, 1190, 930, 600],  
  41.         type: 'line',  
  42.         smooth: true,  
  43.         stack: '總量',  
  44.         label: {  
  45.                 normal: {  
  46.                     show: true, 
  47.                     position: 'top'  
  48.                 }  
  49.             },  
  50.         areaStyle: {}  
  51.     }]  
  52. }; 

可視化結(jié)果如圖4-7所示。

▲圖4-7 堆疊柱狀圖優(yōu)化版

關(guān)于作者:王大偉,畢業(yè)于華東理工大學(xué),碩士學(xué)歷,目前就職于平安金融壹賬通,從事數(shù)據(jù)挖掘算法工作,擅長ECharts、Python、自然語言處理、數(shù)據(jù)分析挖掘、機器學(xué)習(xí)。曾獲微軟最有價值專家(MVP)榮譽稱號。

本文摘編自《ECharts數(shù)據(jù)可視化:入門、實戰(zhàn)與進階》,經(jīng)出版方授權(quán)發(fā)布。 

 

責(zé)任編輯:龐桂玉 來源: 大數(shù)據(jù)DT
相關(guān)推薦

2021-01-21 09:10:29

ECharts柱狀圖大數(shù)據(jù)

2021-06-05 23:51:21

ECharts氣泡圖散點圖

2021-01-27 21:55:13

代碼參數(shù)值ECharts

2021-08-09 13:31:25

PythonExcel代碼

2022-10-19 14:30:59

2021-02-06 14:55:05

大數(shù)據(jù)pandas數(shù)據(jù)分析

2011-03-28 16:14:38

jQuery

2021-02-04 09:00:57

SQLDjango原生

2022-08-04 10:39:23

Jenkins集成CD

2009-04-22 09:17:19

LINQSQL基礎(chǔ)

2021-05-10 06:48:11

Python騰訊招聘

2021-02-02 13:31:35

Pycharm系統(tǒng)技巧Python

2012-01-11 13:40:35

移動應(yīng)用云服務(wù)

2020-03-08 22:06:16

Python數(shù)據(jù)IP

2021-08-02 23:15:20

Pandas數(shù)據(jù)采集

2021-12-11 20:20:19

Python算法線性

2017-10-27 10:29:35

人臉識別UbuntuPython

2021-05-17 21:30:06

Python求均值中值

2017-10-29 21:43:25

人臉識別

2009-08-27 18:10:58

PHP繪制3D圖形
點贊
收藏

51CTO技術(shù)棧公眾號