亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在echarts條形圖中使條形周圍的空間可點擊?

如何在echarts條形圖中使條形周圍的空間可點擊?

繁花如伊 2023-07-06 16:43:52
僅當恰好在欄內單擊時才會觸發“單擊”事件。如果我們有一個寬度或高度較小的條形,這并不方便。當我將鼠標懸停在欄上時,欄周圍的一些空間會以完整的圖表高度突出顯示,并顯示工具提示。我想讓突出顯示的區域可點擊,并且條形數據應該在事件中可用。我已經閱讀了文檔并嘗試了 Chart.on('click', 'xAxis.category', function () {...});?但該功能沒有被觸發。在此演示中,僅當我在欄內單擊時才會觸發警報。如何使周圍區域可點擊?
查看完整描述

1 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

確實,點擊欄外時無法接收到常見事件,但 Echarts 是成熟的框架,幾乎任何事件都可以通過低級對象接收zRender。您需要訪問zRenderwithgetZr()并將單擊的像素的坐標轉換為圖表坐標。之后,您將擁有系列數據點的索引,通過它來獲取類別將很容易。


myChart.getZr().on('click', params => {

  var pointInPixel = [params.offsetX, params.offsetY];

  var pointInGrid = myChart.convertFromPixel('grid', pointInPixel);

  var category = myChart.getModel().get('xAxis')[0].data[pointInGrid[0]]

  console.log(category);

});

參見示例:


var myChart = echarts.init(document.getElementById('main'));


var option = {

  title: {

    text: 'ECharts'

  },

  tooltip: {},

  legend: {

    data: ['Label']

  },

  xAxis: {

    data: ["Category1", "Category2", "Category3", "Category4", "Category5", "Category6"]

  },

  yAxis: {},

  tooltip: {

    trigger: "axis",

    confine: true,

    enterable: true,

    axisPointer: {

      type: "shadow",

      shadowStyle: {

        color: "rgba(255,0,0, 0.5)"

      }

    },

    backgroundColor: "rgba(255,255,255,1)",

    textStyle: {

      color: "#6D6D70"

    },

    extraCssText: `box-shadow:  3px 6px 14px #cccccc61;border-radius: 10px;`

  },

  series: [{

    name: 'Series',

    type: 'bar',

    data: [5, 20, 36, 10, 10, 20],

    showBackground: true,

  }]

};


myChart.setOption(option);


myChart.getZr().on('click', params => {

  var pointInPixel = [params.offsetX, params.offsetY];

  var pointInGrid = myChart.convertFromPixel('grid', pointInPixel);

  var category = myChart.getModel().get('xAxis')[0].data[pointInGrid[0]]

  console.log(category);

});

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js"></script>

<div id="main" style="width: 600px;height:400px;"></div>


查看完整回答
反對 回復 2023-07-06
  • 1 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號