Plotly.js轴单击/拖动事件

时间:2019-11-07 10:30:13

标签: javascript plotly axis

我在折线图中有多个y轴。默认情况下,仅显示最后y轴相关的网格线。如果用户单击任何其他y轴,则应显示该y轴的网格线。但是我在plotly.js中找不到任何事件,该事件在单击或拖动轴时触发。

1 个答案:

答案 0 :(得分:0)

对不起,我无法发表评论。这是在yaxis标签上注册点击的一种相当不客气的方法。不确定是否有帮助。

var trace1 = {
  x: [1, 2, 3],
  y: [40, 50, 60],
  name: 'yaxis data',
  type: 'scatter'
};

var trace2 = {
  x: [2, 3, 4],
  y: [4, 5, 6],
  name: 'yaxis2 data',
  yaxis: 'y2',
  type: 'scatter'
};

var data = [trace1, trace2];

var layout = {
  title: 'Double Y Axis Example',
  yaxis: {title: 'yaxis title'},
  yaxis2: {
    title: 'yaxis2 title',
    titlefont: {color: 'rgb(148, 103, 189)'},
    tickfont: {color: 'rgb(148, 103, 189)'},
    overlaying: 'y',
    side: 'right'
  }
};

Plotly.newPlot('chart', data, layout);

var myPlot = document.getElementById('chart');
myPlot.on('plotly_afterplot', function(){
    Plotly.d3.selectAll(".nsdrag.drag.cursor-ns-resize")
          .on("click", function() {
              var target = Plotly.d3.event.target;
              console.log('clicked on', target.dataset.subplot);
          });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/plotly.js/1.49.5/plotly.min.js"></script>
<div id="chart">
</div>