web項目需要嵌入到手機APP的webview里面以及 windows客戶端應用(JavaFx)的webview里面,這個時候就出現了問題。
echarts渲染的時候根據瀏覽器不同的內核顯示是有區別的。
項目里面的echarts折線圖顯示的效果是這樣的
這個效果在網頁上面,跟Android app的webview里面顯示是沒問題的,但是在window顯示的echarts折線圖顯示是錯位的,柱狀圖也顯示錯位了。
后來查Echarts的api時發現4.x有新特性,在初始化是可以配置渲染方式為canvas或者svg,默認為canvas。
初始化代碼:var mychart = echarts.init(document.getElementById('demo'), null, {renderer: 'svg'});
在看了下項目顯示效果折線是沒問題了,但是折線上面的一個標記的特殊的點什么的位置之前是在canvas渲染模式下調整好的,到了svg渲染模式下全變化了,這個需要在從新調整,有時候這個點在不同的環境里面顯示的還不一樣,得通過修改echarts的options配置來達到顯示的最優解。
另外一點要注意的就是修改成svg以后,rich富文本設置的效果就沒有效果了,svg渲染下不支持rich了。
還有一點很重要的就是:svg渲染下畫折線圖的時候如果超過連續3個點重復坐標那么折線就不會顯示,得把所有重復的點去掉才可以。