ECharts柱狀圖過多添加滾動條的步驟(親測可用)
ECharts柱狀圖過多添加滾動條的步驟(親測可用)
echarts引用js需較新版本,否則會不顯示
附ECharts官網(wǎng)地址
添加echarts柱狀圖滾動條,步驟如下:
首先添加js用來判斷當(dāng)前視圖要顯示幾個及是否顯示滾動條:
var _DEPTNUMER = []; //存入所有科室 var showEchart = false; var namenum = 0; if (_DEPTNUMER.length > 0) { namenum = Math.floor(100 / (_DEPTNUMER.length / 3)); //這個3可以順便調(diào)整是用來判斷當(dāng)前視圖要顯示幾個 if (_DEPTNUMER.length > 3) { //3也可以調(diào)整用來判斷是否顯示滾動條 showEchart = true; } else { showEchart = false; } }
添加echarts滾動條:
dataZoom: [ { type: 'slider', realtime: true, start: 0, end: namenum, // 數(shù)據(jù)窗口范圍的結(jié)束百分比。范圍是:0 ~ 100。 height: 5, //組件高度 left: 5, //左邊的距離 right: 5, //右邊的距離 bottom: 10, //下邊的距離 show: showEchart, // 是否展示 fillerColor: "rgba(17, 100, 210, 0.42)", // 滾動條顏色 borderColor: "rgba(17, 100, 210, 0.12)", handleSize: 0, //兩邊手柄尺寸 showDetail: false, //拖拽時是否展示滾動條兩側(cè)的文字 zoomLock: true, //是否只平移不縮放 moveOnMouseMove: false, //鼠標(biāo)移動能觸發(fā)數(shù)據(jù)窗口平移 //zoomOnMouseWheel: false, //鼠標(biāo)移動能觸發(fā)數(shù)據(jù)窗口縮放 //下面是自己發(fā)現(xiàn)的一個問題,當(dāng)點擊滾動條橫向拖拽拉長滾動條時,會出現(xiàn)文字重疊,導(dǎo)致效果很不好,以此用下面四個屬性進行設(shè)置,當(dāng)拖拽時,始終保持顯示六個柱狀圖,可結(jié)合自己情況進行設(shè)置。添加這個屬性前后的對比見**圖二** startValue: 0, // 從頭開始。 endValue: 6, // 最多六個 minValueSpan: 6, // 放大到最少幾個 maxValueSpan: 6, // 縮小到最多幾個 }, { type: "inside", // 支持內(nèi)部鼠標(biāo)滾動平移 start: 0, end: namenum, zoomOnMouseWheel: false, // 關(guān)閉滾輪縮放 moveOnMouseWheel: true, // 開啟滾輪平移 moveOnMouseMove: true // 鼠標(biāo)移動能觸發(fā)數(shù)據(jù)窗口平移 } ]
如下圖:
圖二更改前(鼠標(biāo)放到滾動條上面左右拖拽拉長時):
更改后:
擴展:
echarts使用getZr()事件獲取柱狀圖當(dāng)前點擊列的數(shù)據(jù)
var t = document.getElementById("cardChart"); t.style.width = window.offsetWidth + "px"; var cardChart = echarts.init(t), options = { color: ['#3398DB'], title: { left: "right", //text: new Date().getFullYear() + "年數(shù)據(jù)", textStyle: { color: "#2c2c2c", fontSize: 14, fontWeight: 500 } }, tooltip: { trigger: 'axis', axisPointer: { // 坐標(biāo)軸指示器,坐標(biāo)軸觸發(fā)有效 type: 'shadow' // 默認為直線,可選為:'line' | 'shadow' } }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, xAxis: [{ type: "category", data: dataYearCountName, axisTick: { alignWithLabel: true }, axisLabel: { interval: 0, //強制文字產(chǎn)生間隔 rotate: 45, //文字逆時針旋轉(zhuǎn)45° textStyle: { //文字樣式 color: "black", fontSize: 14, fontFamily: 'Microsoft YaHei' } } }], yAxis: [ { type: "value" } ], series: [ { name: "例數(shù)", type: "bar", barWidth: "60%", data: dataYearCountNum } ] }; //-----------------從這里開始 ----------------- //cardChart 柱狀圖名稱 cardChart.setOption(options); cardChart.off('click'); //防止觸發(fā)兩次點擊事件 cardChart.getZr().on('click', (params) => { let pointInPixel = [params.offsetX, params.offsetY]; if (cardChart.containPixel('grid', pointInPixel)) { let pointInGrid = cardChart.convertFromPixel({ seriesIndex: 0 }, pointInPixel); let xIndex = pointInGrid[0]; //索引 let handleIndex = Number(xIndex); let seriesObj = cardChart.getOption(); //圖表object對象 var op = cardChart.getOption(); //獲得圖表中點擊的列 var month = op.xAxis[0].data[handleIndex]; //獲取點擊的列名 console.log(month); console.log(handleIndex, seriesObj); }; });
到此這篇關(guān)于ECharts柱狀圖過多添加滾動條(親測可用)的文章就介紹到這了,更多相關(guān)ECharts柱狀圖滾動條內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript實現(xiàn)判斷鼠標(biāo)的狀態(tài)
這篇文章主要介紹了javascript實現(xiàn)判斷鼠標(biāo)的狀態(tài)的相關(guān)代碼,十分簡單實用,有需要的小伙伴可以參考下。2015-07-07起點頁面?zhèn)髦礿s,有空研究學(xué)習(xí)下
起點上的頁面?zhèn)髦礿s,有空研究下2010-01-01Egg.js構(gòu)建一個stream流式接口服務(wù)實現(xiàn)詳解
這篇文章主要為大家介紹了Egg.js構(gòu)建一個stream流式接口服務(wù)實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09