我试图检查图表中的点是否包含在预定义的选择中,因此我添加了一个选择框,其中包含layout
部分的正确配置:
var N = 100;
function randomArray() {
var output = new Array(N);
for (var i = 0; i < N; i++) {
output[i] = Math.random();
}
return output;
}
var myPlot = document.getElementById("plotly-graph");
var settings = [
{
mode: "markers",
x: randomArray(),
y: randomArray()
}
];
var layout = {
selections: [
{
type: "rect",
x0: 0.1,
x1: 0.2,
xref: "x",
y0: 0.1,
y1: 0.2,
yref: "y"
}
]
};
var config = {};
Plotly.react(myPlot, settings, layout, config);
问题是,所选点的数组是空的,直到我手动添加另一个选择(使用与任务栏中的选择工具的手动交互)。之后,所有选择中的点都将正确包含在选定点的阵列中。我想找到一种方法来触发这个选择事件编程,而不必使用手动交互,这是可能的吗?关于如何解决这个问题有什么建议吗?
谢谢你!
2条答案
按热度按时间unhi4e5o1#
从已知的点数组中获取已知矩形中的点如何?
这应该可以工作:
sbtkgmzw2#
我在plotly库中记录了事件发出的所有数据,应该如下所示:
探索
plotly_react
事件的事件数据,我使用它来绘制和更新图表,我在data
对象中发现了selectedpoints
:因此,为了抓取图表的选定点,使用内置的选择函数,迭代每个数据对象(如果存在多于单个迹线)并将相对
selectedpoints
合并到所有选定点的数组中是否足够,例如wholeSelectedPoints
。