Этот скрипт HighChart строит точку на графике при каждом щелчке мыши. Моя проблема в том, что я хотел бы добавить в таблицу второй ряд данных. Данные будут входящими данными координаты xy из источника mqtt. Я пытался сделать это в течение нескольких дней безуспешно.
Может кто-нибудь показать мне, как это делается? Я даже не могу заставить лейблы серии появляться. Был бы хорош пример со случайными данными.
position_array = [[100 * Math.random() , 100 * Math.random()] // fake x,y data
Спасибо
(document).ready(function(){ // encapsulate jQuery
console.log("hey click");
Highcharts.chart('container', {
chart: {
type: 'scatter',
margin: [70, 50, 60, 80],
events: {
click: function (e) {
// find the clicked values and the series
var x = Math.round(e.xAxis[0].value),
y = Math.round(e.yAxis[0].value),
series = this.series[0];
// Add it
console.log('2:',Math.round(e.xAxis[0].value),Math.round(e.yAxis[0].value))
var coord = String(x)+','+String(y)
publish(coord,'pclks',2);
series.addPoint([x, y]);
}
}
},
title: {
text: 'Click supplied data'
},
subtitle: {
text: 'Move Robot by clicking a point on the Graph'
},
xAxis: {
gridLineWidth: 1,
minPadding: 0.2,
maxPadding: 0.2,
maxZoom: 60
},
yAxis: {
title: {
text: 'Value'
},
minPadding: 0.2,
maxPadding: 0.2,
maxZoom: 60,
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
legend: {
enabled: false
},
exporting: {
enabled: false
},
plotOptions: {
series: {
lineWidth: 1,
point: {
events: {
load: function () {
console.log("hey load b");
if (this.series.data.length > 1) {
this.remove();
}
}
}
}
}
},
series: [{name: "data0",
data: [[20, 20], [80, 80]]},
}]
}); });