前言
為了直觀查看公司服務器各個進程占用的內存動態情況,我使用echarts進行數據可視化,具體的實現過程按下不表。
最后實現的效果如圖:
然后問題就來了,因UI采用了Bootstrap響應式框架,所以除了圖表之外其他都是響應式。當窗口縮小后,就會發生很尷尬的出界事件。
如圖:
針對這個問題,剛開始的解決思路及方法:把echart容器的寬度設置為100%;
<pclass="col-sm-12row"id="logic1_node"></p>
這樣之后依然存在問題:頁面初始的寬度是多少,canvas寬度就是多少,之后不會再變化。
便嘗試通過jsDOM操作,強行令canvas的寬度為100%,however too young too simple!
調整瀏覽器寬度發現,canvas畫布的寬度是隨之變化的,然而畫布里面的圖表內容卻像被擠壓在一起的餡餅,模糊扭曲了。
到這里細心的同學可以發現,echart圖表一旦繪制成功,內容就不會再變化。所以對于echart圖表,其"響應式"應該是可以隨著窗口調整不斷被重新繪制,不是簡單的調整寬高。
到echart官網看了Example,發現官網的實例都具有響應式功能,確實不是單純的寬度改變,是每次調整后圖表是重新繪制。猜想echart源碼里應該有resize這個API,打開調試器,打開echart源碼,Ctrl+F,果然找到了。
再仔細查看官方文檔:
echart圖表本身是提供了一個resize的函數的。
于是當瀏覽器發生resize事件的時候,讓其觸發echart的resize事件,重繪canvas。(也可以通過其他事件觸發)
附:Echarts 頁面多圖自適應的解決辦法
網上看到有不少人使用Echarts抽象出來的框架,實現自適應的效果代碼:window.onresize = option.chart.resize()
, 這個代碼基本是官網上的window.onresize = myCharts.resize();
的翻版。
但在實際的應用中一個頁面可能會有好幾個Echarts圖表,而使用window.onresize = option.chart.resize()
,加載頁面圖表后,頁面上只有一個圖表會根據瀏覽器的變化而自適應。如果要是頁面上的圖表都要自適應。則需要將resize事件疊加在不同的圖上面,使用一下代碼可以實現。
window.addEventListener("resize",function(){option.chart.resize();});
看完了這篇文章,相信你對“如何解決echarts之圖表自適應問題”有了一定的了解,如果想了解更多相關知識,歡迎關注本站行業資訊頻道,感謝各位的閱讀!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
漲停板打開是洗盤還是出貨?個股漲停板打開可能是出貨,也可能是洗盤,需要結合實際情況來考慮。1、從成交量上看如果在漲停板打開時,其成交量出現較大的放量情況,則可能是主力出貨;如果在漲停板打開時,其成交量出現縮量的情況,則可能是主力洗盤。2、從籌碼分布圖上看如果在漲停板打開時,莊家底部的籌碼基本不動,而散戶底部的獲利籌碼在不斷的賣出,則可能是洗盤;如果在漲停板打開時,莊家出底部的籌碼上移,賣給在高位接...
中國移動手機錢包業務指的是中國移動通信集團北京有限公司,北京銀聯股份有限公司推出的一種全新的個人移動金融服務,該服務是將客戶的手機號碼與北京地區發行的銀行卡進行綁定,通過使用手機短信到操作方式,隨時隨地的為北京地區的銀行卡提供更加方便的個性化金融服務和更加快捷的支付渠道,那么中國移動手機錢包有風險嗎?下面我們就來給大家詳細的說一下這個問題。1、首先中國移動手機錢包是由北京銀聯股份有限公司以及中國移...
招行朝朝寶和朝朝盈有啥區別?1.發售機構不一樣。朝朝寶是招商銀行代銷招銀理財公司的理財產品;朝朝盈是招商銀行自營的理財產品。2.投資標的不一樣。朝朝寶對接5只理財產品;朝朝盈對接1支基金。3.資金贖回到賬時間不一樣。朝朝寶快速贖回(限額5萬)實時到賬,朝朝盈普通贖回T+1日到賬,快速贖回立即到賬(限額1萬)。4.資金可消費性不一樣。朝朝寶的資金不贖回可直接使用;朝朝盈的資金不能直接消費,需贖回方可...