echarts的實例方法非常重要,因為在實際運用中我們額圖表的數據不可能是死的,而是動態變化的,實例方法為動態改變數據提供了方法。故特意從官網上面把下面實例方法進行記錄:
注:下面內容摘自echarts官網,原文地址:http://echarts.baidu.com/doc/doc.html#%E5%AE%9E%E4%BE%8B%E6%96%B9%E6%B3%95
實例指的就是接口init()返回的對象,即上述代碼中的“myChart”,非get接口均返回自身self支持鏈式調用
名稱 | 參數 | 描述 |
---|---|---|
{self} setOption | {Object} option, {boolean=} notMerge |
萬能接口,配置圖表實例任何可配置選項(詳見option),多次調用時option選項默認是合並(merge)的,merge的設計可以讓setOption很方便的成為更新任何屬性的萬能方法,比如你僅需要改title文字,則僅需要: setOption({title : {text : '新標題'}}); 如果不需要,可以通過notMerger參數為true阻止與上次option的合並,如多次setOption間數據改變、長度不一致等的場景。 2.0.0起支持timeline組件,option中包含timeline(詳見timeline)時每一個獨立的option應該放置到命名為options的數組內,如 myCharts.setOption({ timeline : {...}, options : [ { // option1 title : {...}, series : [...] }, {...}, // option2 ... ] }); |
{Object} getOption | {void} | 返回內部持有的當前顯示option克隆(拷貝)。 |
{self} setSeries | {Array} series, {boolean=} notMerge |
數據接口,驅動圖表生成的數據內容(詳見series),效果等同調用 setOption({series : {...}}, notMerge) |
{Object} getSeries | {void} | 返回內部持有的當前顯示series克隆(拷貝),效果同 getOption().series |
{self} addData | 單組數據: {number} seriesIdx {number | Object} data {boolean=} isHead {boolean=} dataGrow {string=} additionData 多組數據添加: {Array} params |
動態數據接口,try this (Line & Bar) » try this (Scatter & K) » try this (Pie & Radar) » seriesIdx 系列索引 data 增加數據 isHead 是否隊頭加入,默認,不指定或false時為隊尾插入 dataGrow 是否增長數據隊列長度,默認,不指定或false時移出目標數組對位數據 additionData 是否增加類目軸(餅圖為圖例)數據,附加操作同isHead和dataGrow 多組數據添加時參數為: params == [[seriesIdx, data, isHead, dataGrow, additionData], [...]] |
{self} addMarkPoint | {number} seriesIdx {Object} markData |
新增標注接口,其中 seriesIdx 系列索引 markData [標注]對象,同series.markPoint,支持多個 |
{self} addMarkLine | {number} seriesIdx {Object} markData |
新增標線接口,其中 seriesIdx 系列索引 markData [標線]對象,同series.markLine,支持多個 |
{self} delMarkPoint | {number} seriesIdx {string} markName |
刪除單個標注接口,其中 seriesIdx 系列索引 markName [標注]名稱 |
{self} delMarkLine | {number} seriesIdx {string} markName |
刪除單個標線接口,其中 seriesIdx 系列索引 markName [標線]名稱,已構建的標線名稱默認為markLine數據中起始點的name,如果同時終點也有name屬性,如地圖標線,則標線名稱等於“nameStart > nameEnd”,如markLine的data為 [{name:'北京', value:100}, {name:'上海'}] 則刪除該標線時傳入的markName為 "北京 > 上海" |
{self} on | {string} eventName, {Function} eventListener |
事件綁定,事件命名統一掛載到require('echarts/config').EVENT(非模塊化為echarts.config.EVENT)命名空間下,建議使用此命名空間作為事件名引用,當前版本支持事件有: -----------------------基礎事件----------------------- REFRESH(刷新), RESTORE(還原), RESIZE(顯示空間變化), CLICK(點擊), DBLCLICK(雙擊), HOVER(懸浮), MOUSEOUT(鼠標離開數據圖形), ---------------------交互邏輯事件-------------------- DATA_CHANGED(數據修改,如拖拽重計算), DATA_VIEW_CHANGED(數據視圖修改), MAGIC_TYPE_CHANGED(動態類型切換), TIMELINE_CHANGED(時間軸變化), DATA_ZOOM(數據區域縮放), DATA_RANGE(值域漫游), DATA_RANGE_SELECTED(值域開關選擇), DATA_RANGE_HOVERLINK(值域漫游hover), LEGEND_SELECTED(圖例開關選擇), LEGEND_HOVERLINK(圖例hover), MAP_ROAM(地圖漫游), MAP_SELECTED(地圖選擇), PIE_SELECTED(餅圖選擇), FORCE_LAYOUT_END(力導向布局結束) 事件調試 » |
{self} un | {string} eventName, {Function} eventListener |
事件解綁定 |
{self} setTheme | {string | Object} theme | 設置主題,內置主題('macarons', 'infographic')直接傳入名稱,自定義擴展主題可傳入主題對象 |
{self} connect | {ECharts | Array <ECharts>} connectTarget | 多圖聯動,傳入聯動目標為EChart實例,支持數組。多圖聯動支持直角系下tooltip聯動,保存圖片的自動拼接,同時支持的聯動事件有: REFRESH,RESTORE,MAGIC_TYPE_CHANGED DATA_ZOOM,DATA_RANGE,LEGEND_SELECTED 多圖聯動 » |
{self} disConnect | {ECharts | Array <ECharts>} connectTarget | 解除已連結的多圖聯動 |
{self} showLoading | {Object} loadingOption | 過渡控制(詳見loadingOption),顯示loading(讀取中) try this » |
{self} hideLoading | {void} | 過渡控制,隱藏loading(讀取中) |
{ZRender} getZrender | {void} | 獲取當前圖表所用ZRender實例,可用於添加額外圖形或進行深度定制,zrender接口詳見ZRender |
{string} getDataURL | {string=} imgType | 獲取當前圖表的Base64圖片dataURL,IE8-不支持,imgType 圖片類型,支持png|jpeg,默認為png |
{Dom} getImage | {string=} imgType | 獲取一個當前圖表的img,imgType 圖片類型,支持png|jpeg,默認為png |
{self} resize | {void} | ECharts沒有綁定resize事件,顯示區域大小發生改變內部並不知道,使用方可以根據自己的需求綁定關心的事件,主動調用resize達到自適應的效果,常見如window.onresize = myChart.resize。 |
{self} refresh | {void} | 刷新圖表,圖例選擇、數據區域縮放,拖拽狀態均保持。 |
{self} restore | {void} | 還原圖表,各種狀態均被清除,還原為最初展現時的狀態。 |
{self} clear | {void} | 清空繪畫內容,清空后實例可用 |
{void} dispose | {void} | 釋放圖表實例,釋放后實例不再可用 |