@@ -811,7 +811,6 @@ function graphAddLastPosition(idx) {
811811 var data = vehicles [ idx ] . graph_data ;
812812 var new_data = vehicles [ idx ] . curr_position ;
813813 var ts = ( new Date ( new_data . gps_time ) ) . getTime ( ) ; // flot needs miliseconds for time
814- var series_idx = 1 ;
815814
816815 if ( vehicles [ idx ] . graph_data . length ) {
817816 var ts_last_idx = data [ 0 ] . data . length - 1 ;
@@ -826,12 +825,13 @@ function graphAddLastPosition(idx) {
826825 if ( plot_options . xaxis && follow_vehicle == idx && ts_last == plot_options . xaxis . max ) plot_options . xaxis . max = ts ;
827826 }
828827
828+ var i = 0 ;
829829 // altitude is always first in the series
830- if ( data [ 0 ] === undefined ) {
831- data [ 0 ] = {
830+ if ( data [ i ] === undefined ) {
831+ data [ i ] = {
832832 label : "altitude = 0" ,
833833 color : '#33B5E5' ,
834- yaxis : series_idx ,
834+ yaxis : i + 1 ,
835835 lines : { show :true , fill : true , fillColor : "rgba(51, 181, 229, 0.1)" } ,
836836 nulls : 0 ,
837837 data : [ ]
@@ -840,29 +840,33 @@ function graphAddLastPosition(idx) {
840840
841841 // push latest altitude
842842 data [ 0 ] . data . push ( [ ts , parseInt ( new_data . gps_alt ) ] ) ;
843- if ( parseInt ( new_data . gps_alt ) < 0 ) delete vehicles [ idx ] . graph_yaxes [ series_idx - 1 ] . min ;
843+ if ( parseInt ( new_data . gps_alt ) < 0 ) delete vehicles [ idx ] . graph_yaxes [ i ] . min ;
844+ i ++ ;
844845
845846 // the rest of the series is from the data field
846847 var json = $ . parseJSON ( new_data . data ) ;
847848
848849 $ . each ( json , function ( k , v ) {
849- if ( isNaN ( v ) ) return ; // only take data that is numerical
850- if ( series_idx > 7 ) return ; // up to 7 seperate data plots
851-
852- var i = series_idx ++ ;
850+ if ( isNaN ( v ) || v == "" ) return ; // only take data that is numerical
851+ if ( i >= 8 ) return ; // up to 8 seperate data plots
853852
854853 if ( data [ i ] === undefined ) {
855854 data [ i ] = {
856855 label : k + " = 0" ,
856+ key : k ,
857857 yaxis : i + 1 ,
858858 data : [ ]
859859 } ;
860860
861861 if ( isInt ( v ) ) $ . extend ( true , data [ i ] , { noInterpolate : true , lines : { steps : true } } ) ;
862862 }
863863
864+ if ( k != data [ i ] . key ) return ;
865+
864866 data [ i ] . data . push ( [ ts , parseFloat ( v ) ] ) ;
865867 if ( parseFloat ( v ) < 0 ) delete vehicles [ idx ] . graph_yaxes [ i ] . min ;
868+
869+ i ++ ;
866870 } ) ;
867871}
868872
0 commit comments