我正在使用Plotly撰写网页。问题是,当我使用Plotly_onclick
事件时,似乎出现了问题。
具体来说,当我点击鼠标时,它没有反应。当我点击我的笔记本电脑的触摸板,即我按下触摸板时,它也没有反应。只有当我大量触摸我的触摸板时,它才会做出反应。
我不能处理这个。有没有人知道如何解决它?
点击事件的代码在这里:
.on('plotly_click', function (event, eventdata) {
var point = eventdata.points[0];
var traceColor = point.fullData.marker.color,
newAnnotation = {
x: point.xaxis.d2l(point.x),
y: point.yaxis.d2l(point.y),
ax: 0,
ay: -50,
arrowhead: 6,
bgcolor: 'rgba(255,255,255,0.75)',
arrowcolor: traceColor,
font: {color: traceColor},
text: point.data.name + ':' + point.y + 'on ' + point.x
},
newIndex = (rangePlot.layout.annotations || []).length;
console.log(newIndex);
var TextFromUser = {name: point.data.name, time: point.x, value: point.y};
if(TextFromUser['time'].length==10)
{
TextFromUser['time']=TextFromUser['time']+' 00:00';
}
else if(TextFromUser['time'].length==13)
{
TextFromUser['time']=TextFromUser['time']+':00';
}
else;
if (newIndex) {
var foundCopy = false;
rangePlot.layout.annotations.forEach(function (ann, sameIndex) {
if (ann.text === newAnnotation.text) {
Plotly.relayout(rangePlot, 'annotations[' + sameIndex + ']', 'remove');
foundCopy = true;
}
});
if (foundCopy) return;
}
Plotly.relayout(rangePlot, 'annotations[' + newIndex + ']', newAnnotation);
})
答案 0 :(得分:0)
示例参考: https://plot.ly/javascript/click-events/
代码:
Plotly.newPlot('myDiv', data, layout);
myPlot.on('plotly_click', function(data){
var pts = '';
for(var i=0; i < data.points.length; i++){
pts = 'x = '+data.points[i].x +'\ny = '+
data.points[i].y.toPrecision(4) + '\n\n';
}
alert('Closest point clicked:\n\n'+pts);
});
它有一些泻湖,但这是事件发生的开始......