在Plotly.js中,当dragmode
设置为false
时,可以使用plotly_selecting
事件来监听选框的变化。该事件在用户点击并开始拖动选框时触发,并在选框大小和位置发生变化时持续触发。
可以通过监听plotly_selecting
事件来获取选框的坐标和范围,代码如下:
var plotEl = document.getElementById('plot');plotEl.on('plotly_selecting', function(eventData) {var x0 = eventData.range.x[0];var y0 = eventData.range.y[0];var x1 = eventData.range.x[1];var y1 = eventData.range.y[1];console.log('Selected range:', x0, y0, x1, y1);
});
在上述代码中,我们监听了plotly_selecting
事件并在事件处理函数内获取了选框的范围。范围由四个属性组成:x0
,y0
,x1
和y1
,它们分别代表选框左下角和右上角的坐标。您可以使用这些坐标来执行其他任何操作,例如筛选数据或更新图表内容。
请注意,您需要将dragmode
设置为false
,以便将选择操作移动到您的代码中处理,如下所示:
Plotly.newPlot('plot', data, layout, {dragmode: false});