Javascript 无法使用FlotJs绘制两个单独的图形
我试图用flotJS绘制两个单独的图(实际上是9个,但现在只有2个),不知何故,数据在两个图上混合并绘制相同的混合数据 以下是我的JS代码:Javascript 无法使用FlotJs绘制两个单独的图形,javascript,jquery,arrays,flot,Javascript,Jquery,Arrays,Flot,我试图用flotJS绘制两个单独的图(实际上是9个,但现在只有2个),不知何故,数据在两个图上混合并绘制相同的混合数据 以下是我的JS代码: var graphData1, graphData2, graphData3 = []; var graphBuffer = 1000; var xmin = 0; var xmax = 5; var options = { xaxes: [ {position: 'bottom', autoScale: 'none', min:
var graphData1, graphData2, graphData3 = [];
var graphBuffer = 1000;
var xmin = 0;
var xmax = 5;
var options = {
xaxes: [
{position: 'bottom', autoScale: 'none', min: 0, max: 5}
],
yaxes: [
{position: 'left', autoScale: 'none', min: -1.5, max: 1.5}
],
zoom: {interactive: true},
pan: {interactive: true}
};
function deleteGraph() {
graphData1 = graphData2 = graphData3 = [];
$.plot("#graph1", [{graphData1}], options);
$.plot("#graph2", [{graphData2}], options);
//$.plot("#graph3", [{graphData3}], options);
}
function updateGraph(data) {
var datatmp = data.data;
// Formatea y Almacena datos a graficar
datatmp.forEach(function (sample) {
graphData1.push([parseFloat(sample.timestamp.toFixed(4)), parseFloat(sample.sensor1.toFixed(4))]);
//graphData2.push([parseFloat(sample.timestamp.toFixed(4)), parseFloat(sample.sensor2.toFixed(4))]);
});
$.plot("#graph1", [graphData1], options);
$.plot("#graph2", [graphData2], options);
}
使用此代码,输出为:
正如您所看到的,即使在//graphData2.push([parseFloat(sample.timestamp.toFixed(4))、parseFloat(sample.sensor2.toFixed(4)))的情况下,它也会在两个图上绘制相同的信息代码>已注释
但是,如果我删除注释,结果是:
正如您所看到的,它混合了数据,并在两个图形上绘制相同的混合数据
如何在不同的图形上绘制不同的数据
谢谢你的帮助 您正在设置graphData1=graphData2
,以便它们是相同的数组。然后将所有数据点推入两个图表中显示的一个数组中
替换
var graphData1, graphData2, graphData3 = [];
// and
function deleteGraph() {
graphData1 = graphData2 = graphData3 = [];
与
var graphData1 = [], graphData2 = [], graphData3 = [];
// and
function deleteGraph() {
graphData1 = [];
graphData2 = [];
graphData3 = [];