如何在amcharts中设置不同的图表行为,取决于所按的键。

问题描述 投票:0回答:1

我知道我可以用鼠标控制zoompan的行为,就像这样。

    chart.cursor = new am4charts.XYCursor();
    chart.cursor.xAxis = dateAxis;
    chart.cursor.yAxis = valueAxis;
    chart.cursor.wheelable = true;
    chart.cursor.behavior = 'panXY';
    chart.mouseWheelBehavior = 'zoomXY';

这将使图表在鼠标滚轮上放大,在拖动时移动。我想让图表在按下CTRL键时,如果使用鼠标滚轮,也能向左向右移动(滚动)。所以,我想让图表在按CTRL键时,如果使用鼠标滚轮,也向左向右移动(滚动)。

  • 鼠标滚轮=缩放
  • CTRL + 鼠标滚轮 = 向左向右滚动

这是否有某种可能?

charts amcharts amcharts4
1个回答
0
投票

好吧,我设法通过在包装div中添加一些事件处理程序来实现。

  <div
      onMouseOut={e => {
          chart.mouseWheelBehavior = 'zoomXY';
      }}
      onMouseOver={e => {
          chart.mouseWheelBehavior = e.ctrlKey ? 'panX' : 'zoomXY';
      }}
      onWheel={e => {
          chart.mouseWheelBehavior = e.ctrlKey ? 'panX' : 'zoomXY';
      }}>
      <div className={styles.chartWrapper} ref={containerRef}>
      </div>
    </div>
© www.soinside.com 2019 - 2024. All rights reserved.