2016-08-18 6 views
7

Ich versuche, zwei Liniendiagramme in einem ZingChart-Diagramm zu zeichnen und herauszufinden, in welchem ​​Format ich die Daten weitergeben soll.Wie können WeekOnWeek-Diagramme auf einem ZingChart-Diagramm dargestellt werden?

Grundsätzlich habe ich eine Reihe von Zeitstempel/integer Paare für die heutigen und Woche vor Daten mit einstündigen Intervallen zB:

heute = [[timestamp1, 1], [timestamp2, 4], .... .., [timestamp18, 7]] < - vorausgesetzt, jetzt ist es 18 Uhr, also gibt es keine Daten für den Rest des Tages

week_ago = [[timestamp1, 4], [timestamp2, 7], .... .., [timestamp23, 1]] < - volle 24 Stunden Daten

Die x-Serie sollte Stunden von 00:00 bis 23:00 zeigen und y-Serie ist nur ganzzahlig. Außerdem möchte ich an jedem Diagrammpunkt, dass der Tooltip das Datum und den Ganzzahlwert anzeigt.

Es klingt sehr einfach und wahrscheinlich ist aber, weil ich zu ZingChart ziemlich neu bin, kann ich es nicht herausfinden.

Vielen Dank

Antwort

7

Ist das, was Sie zu tun versuchen? Ich habe zwei Objekte series verwendet, um meine Daten zu enthalten: das erste enthält die Zeitreihendaten für heute und das zweite enthält die Zeitreihendaten für letzte Woche. Es gibt weitere Informationen zu time-series data and scales here.

Als nächstes erstellte ich two x-axis scales. scaleX ist an das erste Serienobjekt gebunden (heutige Daten), und scaleX2 ist an das zweite Serienobjekt (oder die Daten der letzten Woche) gebunden. Sie haben die Option "blend" the two scales so that they appear on the same axis line (dies wird jedoch häufiger auf der y-Achse gemacht). Oder Sie können die Sichtbarkeit der zweiten X-Achse ausschalten, was ich in der folgenden Demo getan habe.

Sie können natürlich tooltips (in dieser Demoversion deaktiviert), crosshairs und/oder legend verwenden, um Ihre Daten weiter zu erklären.

var myConfig = { 
 
    type: 'line', 
 
    \t utc: true, //If set to false, this will default to UTC time. 
 
    \t timezone: -5, //Currently set to EST time. You can specify your desired time zone. 
 
    \t scaleX: { 
 
    \t minValue: 1471496400000, 
 
    \t maxValue: 1471579200000, 
 
    \t step: 'hour', 
 
    \t transform: { 
 
    \t  type: 'date', 
 
    \t  all: '%g%a' 
 
    \t }, 
 
    \t label: { 
 
    \t  text: 'X-Axis' 
 
    \t }, 
 
    \t item: { 
 
    \t  fontSize: 10 
 
    \t }, 
 
    \t maxItems: 24 
 
    \t }, 
 
    \t scaleX2: { 
 
    \t minValue: 1470891600000, 
 
    \t maxValue: 1470974400000, 
 
    \t placement: 'default', 
 
    \t blended: true, 
 
    \t visible: false, 
 
    \t step: 'hour', 
 
    \t transform: { 
 
    \t  type: 'date', 
 
    \t  all: '%g%a' 
 
    \t }, 
 
    \t item: { 
 
    \t  fontSize: 10 
 
    \t }, 
 
    \t }, 
 
    \t scaleY: { 
 
    \t values: '0:10:1', 
 
    \t label: { 
 
    \t  text: 'Y-Axis' 
 
    \t }, 
 
    \t item: { 
 
    \t  fontSize: 10 
 
    \t }, 
 
    \t guide: { 
 
    \t  lineStyle: 'solid' 
 
    \t } 
 
    \t }, 
 
    \t plot: { 
 
    \t tooltip: { 
 
    \t  visible: false 
 
    \t } 
 
    \t }, 
 
    \t crosshairX: { 
 
    \t plotLabel: { 
 
    \t  multiple: true 
 
    \t } 
 
    \t }, 
 
\t series: [ 
 
\t \t { //Today, or 08/18/16 until 6am 
 
\t \t scales: 'scaleX, scaleY', 
 
\t \t values: [ 
 
\t \t  [1471496400000, 3], //08/18/16 at midnight, EST time 
 
\t \t  [1471500000000, 7], //1am 
 
\t \t  [1471503600000, 5], //2am 
 
\t \t  [1471507200000, 9], //3am 
 
\t \t  [1471510800000, 4], //4am 
 
\t \t  [1471514400000, 5], //5am 
 
\t \t  [1471518000000, 2] //6am 
 
\t \t ], 
 
\t \t text: 'Today' 
 
\t \t }, 
 
\t \t { //Last Thursday, or 08/11/16, all 24 hours 
 
\t \t scales: 'scaleX2, scaleY', 
 
\t \t values: [ 
 
\t \t  [1470891600000, 5], //08/11/16 at midnight, EST time 
 
\t \t  [1470895200000, 6], //1am 
 
\t \t  [1470898800000, 4], //2am 
 
\t \t  [1470902400000, 9], //3am 
 
\t \t  [1470906000000, 1], //4am 
 
\t \t  [1470909600000, 5], //5am 
 
\t \t  [1470913200000, 6], //6am 
 
\t \t  [1470916800000, 3], //7am 
 
\t \t  [1470920400000, 5], //8am 
 
\t \t  [1470924000000, 7], //9am 
 
\t \t  [1470927600000, 8], //10am 
 
\t \t  [1470931200000, 2], //11am 
 
\t \t  [1470934800000, 3], //12am 
 
\t \t  [1470938400000, 1], //1pm 
 
\t \t  [1470942000000, 4], //2pm 
 
\t \t  [1470945600000, 6], //3pm 
 
\t \t  [1470949200000, 7], //4pm 
 
\t \t  [1470952800000, 3], //5pm 
 
\t \t  [1470956400000, 5], //6pm 
 
\t \t  [1470960000000, 6], //7pm 
 
\t \t  [1470963600000, 2], //8pm 
 
\t \t  [1470967200000, 3], //9pm 
 
\t \t  [1470970800000, 5], //10pm 
 
\t \t  [1470974400000, 4] //11pm 
 
\t \t ], 
 
\t \t text: 'Last Week' 
 
\t \t } 
 
\t ], 
 
\t legend: { 
 
\t align: 'center', 
 
\t verticalAlign: 'bottom', 
 
\t marker: { 
 
\t  type: 'circle', 
 
\t  size: 4, 
 
\t  showLine: true 
 
\t }, 
 
\t borderWidth: 1 
 
\t } 
 
}; 
 
zingchart.render({ 
 
\t id : 'myChart', 
 
\t data : myConfig, 
 
\t height: 400, 
 
\t width: 600 
 
});
<head> 
 
\t \t <script src= "https://cdn.zingchart.com/zingchart.min.js"></script> 
 
\t </head> 
 
\t <body> 
 
\t \t <div id='myChart'></div> 
 
\t </body>

Hoffnung, das hilft. Ich bin Mitglied im ZingChart-Team und Sie können mich informieren, wenn Sie weitere Fragen haben. Wenn Sie sich mit unserer Scales Tutorial vertraut machen, sollten Sie eine gute Grundlage für die Arbeit mit unserer Bibliothek erhalten.

Verwandte Themen