echart
基本運用
echart是一個用js繪圖的框架,官方文檔。
引入echart後,首先必須準備一個畫圖的區塊。
1 | <div class="row"> |
我會繪製兩個圖表,一個負責AVG、OBP、SLG,另一個負責PA、AB、H、RBI、HR,並且利用Bootstrap將兩個圖表排在一列,會使用長條圖來表示。
echart官網有即時顯示的編輯器可用。
官方範例
1 | option = { |
xAxis為x軸的設置,其中type為x軸的屬性,可以選擇value
、category
、time
、log
四種,x軸我預定顯示數值種類,所以選擇category
,而y軸為數值。
如果要繪製橫向的長條圖,只要把xAxis和yAxis的內容對調就好,series中的data會自動對應。
基本的長條圖介紹玩了,我想要繪製的長條圖x軸為月份,y軸為數值,並且每個月分都有每種數據,需要用到官方範例。
跟上一個不同的是,這個範例有著標籤可以控制顯示,需要更改series裡面的內容,並且加入legend屬性。
1 | series: [{ |
result為ajax跟Falsk取的資料
三種資料有三種name,則我必須在legend裡面宣告這三種name。
1 | legend: { |
增加圖表功能
toolbox
echart有提供許多API來讓我們使用,在官方文檔中可以查到許多有用的API。
今天我主要回會用toolbox這個配置項的功能,toolbox可以為圖表增添工具欄,有輸出圖片、數據圖、縮放等。
首先要啟用toolbox要先設置show
為true,並且可以在feature
中設置各選項的內容。
1 | toolbox: { |
magicType可以讓長條圖轉成折線圖、堆疊圖等
dataZoom
接著我想要增加縮放月份的功能,這邊用到的是dataZoom
,dataZoom
的區域縮放功能可以選取想要的區域數值。
dataZoom
有inside和slider兩種,在type屬性中宣告(預設是slider),inside是內置的,可以使用滑鼠的滾輪操作,手機可以用兩指放大,而slider則是外面有縮放條可以選取。
slider
1 | dataZoom: [ |
tooltip
現在滑鼠移到圖表上會有顯示數據,但是都是每一條獨立觸發,我希望當我的滑鼠移到某個月分時,可以將三個數據都顯示出來,這時要用到tooltip
的功能
還沒有tooltip的提示
tooltip有兩種觸發條件:item和axis,item主要用在散點圖,透過點觸發,而axis用在長條圖,透過軸觸發。
1 | tooltip: { |
完整程式碼
1 | function get_month(){ |