原因不是很清楚,但是我的解決思路是這樣的:
我們現(xiàn)在都知道讓線圖默認(rèn)自然展示情況下不顯示symbol 是通過將showSymbol 值賦值為false,但是這種時候,如果我們通過setOtion 方法設(shè)置x軸選中標(biāo)簽高亮?xí)r,symbol 顯示就會失效,于是我想通過其它辦法來實現(xiàn)相同的顯示效果,那就是
將showSymbol屬性值改為true(這個點很關(guān)鍵),也就是從始至終都讓線圖有symbol 的展示,只是先將symbolSize值設(shè)置成和線的粗細(xì)一樣的大小,這樣就看不出來它的存在,在選中某一項時,再通過emphasis 高亮設(shè)置的屬性放大symbol以達(dá)到顯示出來的效果,樣式修改也是同理,如果需要邊框,那就默認(rèn)邊框無色,高亮?xí)r再通過itemStyle 給邊框顏色,具體核心代碼如下:
series:[{
…symbol:“circle”, showSymbol:true,? symbolize:4,itemStyle: { color: “#33A5FA”, lineStyle: { width: 4, color: “#33A5FA”}}, …
emphasis: { scale:? 3.75, itemStyle: { border color: “#fff”,borderWidth:? 3, color: “#33A5FA” } }
}]
這樣寫有兩個注意事項:
1.echarts版本
寫完可能發(fā)展這樣并不好用,那就要檢查一下echarts版本,官網(wǎng)上說明了高亮中scale屬性允許使用數(shù)字格式的版本,低版本會導(dǎo)致數(shù)值不生效,只支持布爾值
2.延時器
版本也給了還是不生效,那就要想一下有可能是什么原因?qū)е碌?,因為我這個項目的圖是帶有動畫渲染的,會有三秒左右的繪制時間,首次進(jìn)入頁面不生效,但是如果做了修改保存后,樣式就生效了,所以我懷疑是因為渲染速度的問題,可能是一開始這個初始化的圖還沒有渲染好就被我后面的setOption 打斷了或者是怎么樣,于是我給修改x高亮的方法放在了定時器里面,加了個五秒的延時,果然就好了,這個時間就按著各自實際情況給