2016-09-20 2 views
4

Ich fragte mich, ob mir jemand helfen könnte.Hinzufügen mehrerer dynamischer Linien zu Highcharts

Ich habe 2 Datensätze, die von einer API zurückgegeben werden, die ich zu einem Liniendiagramm chart, das Problem ist, weiß ich nicht, welche Reihe von Ergebnissen zu gegebener Zeit kommen wird, also brauche ich etwas, das in der Lage sein wird um beide Sätze der Ergebnisse darzustellen.

Der erste Satz hat die folgenden Informationen, (von einem Var_dump genommen)

'series' => string '[{name: 'Data'}]' 
'data_lines' => string '[[[1473731108000,3.4804],[1473731406000,1.7047],[1473731704000,1.7559],[1473732004000,1.2774],[1473732304000,1.9295]]]' 

Die erste Zahl ist ein Zeitstempel, und die zweite Zahl ist die Plotpunkt in GB, und die Serie Name ist die Reihe Name offensichtlich.

Der obige Satz von Ergebnissen nur eine Leitung benötigt, ist der zweite Satz von Daten eine Mittelung der Ergebnisse festgelegt und braucht 3 Zeilen, seine Antwort ist wie folgt:

'series' => string '[{name: 'Data (average)'},{name: 'Data (maximum)'},{name: 'Data (minimum)'}]' 
'data_lines' => string '[[[1473638400000,1.5094]],[[1473638400000,6.7825]],[[1473638400000,1.0546]]]' 

und dieser hat offensichtlich 3 Daten Werte für die 3 Etiketten pro Zeitstempel.

Irgendwelche Hilfe, um das zu erreichen, würde sehr geschätzt werden.

+1

Haben Sie ein Bild/Skizze, wie es aussehen soll? –

+0

Nun, ich denke, der erste Satz von Daten wäre ein einzelner Liniendiagramm und der zweite Satz wäre ein 3 Liniendiagramm wie hier http://jsfiddle.net/gh/get/jquery/1.9.1/highslide-software/highcharts .com/tree/master/samples/stock/demo/compare/ – BigJobbies

+0

Haben Sie ein Live-Beispiel, das zeigt, was Sie bis zu diesem Moment gemacht haben? Haben Sie Highcharts benutzerdefinierte Vorverarbeitungsbeispiele in ihren Dokumenten gesehen? http://www.highcharts.com/docs/working-with-data/custom-preprocessing –

Antwort

0

Dies ist meine Vermutung: Erstellen Sie eine Funktion, die sich wie ein Router für Ihre Ergebnisse verhält. Ich weiß nicht, wie Sie Ihre Ergebnisse sind der Verarbeitung (PHP oder JavaScript), BTW:

function chartSelector($data) { 
    if (count($data['series']) == 3) { 
     //put the logic to process the averaging set of results here 
    } else { 
     //put the logic for the other set here 
    } 
} 

Diese Funktion wird die Verarbeitung entsprechend der gegebenen Menge von Daten direkt :)

Verwandte Themen