echarts-概念篇-圖表容器及大小


圖表容器及大小

在快速上手中,
我們介紹了初始化ECharts的接口echarts.init

API文檔中詳細介紹了參數的具體含義,
建議理解后再閱讀本文。

下面,
我們就常見的幾種使用場景,
介紹如何初始化一個圖表以及改變其大小。

初始化

在HTML中定義有寬度高度父容器(推薦)

通常來說,
需要在HTML中
先定義一個<div>節點,
並且通過CSS
使得該節點具有寬度和高度。

初始化的時候,
傳入該節點,
圖表的大小默認即為該節點的大小,
除非聲明了opts.width
opts.height將其覆蓋。

需要注意的是,
使用這種方法在調用
echarts.init
時需保證容器已經有寬度和高度了。

指定圖表的大小

如果圖表容器不存在寬度和高度,
或者,
你希望圖表寬度和高度不等於容器大小,
也可以在初始化的時候指定大小。

響應容器大小的變化

監聽圖表容器的大小並改變圖表大小

在有些場景下,
我們希望當容器大小改變時,
圖表的大小也相應地改變。

比如,
圖表容器是一個
高度為300px、寬度為頁面100%的節點,
你希望在瀏覽器寬度改變的時候,
始終保持圖表寬度是頁面的100%。

這種情況下,
可以監聽頁面的window.onresize事件
獲取瀏覽器大小改變的事件
然后調用echartsInstance.resize改變圖表的大小。

為圖表設置特定的大小

除了直接調用resize()不含參數的形式之外,
還可以指定寬度和高度,
實現圖表大小不等於容器大小的效果。

小貼士:
閱讀API文檔的時候
要留意接口的定義方式,
這一接口有時會被誤認為是
myCharts.resize(800, 400)
的形式,
但其實不存在這樣的調用方式。

容器節點被銷毀以及被重建時

假設頁面中存在多個標簽頁,
每個標簽頁都包含一些圖表。

當選中一個標簽頁的時候,
其他標簽頁的內容在DOM中被移除了。

這樣,
當用戶再選中這些標簽頁的時候,
就會發現圖表“不見”了。

本質上,
這是由於圖表的容器節點被移除導致的。

即使之后該節點被重新添加,
圖表所在的節點也已經不存在了。

正確的做法是,
圖表容器被銷毀之后,
調用echartsInstance.dispose銷毀實例
在圖表容器重新被添加后再次調用echarts.init初始化

小貼士:
在容器節點被銷毀時,
總是應調用echartsInstance.dispose銷毀實例釋放資源,
避免內存泄漏。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM