2013-11-28 5 views
5

Ich versuche Aufwandsdaten gegen die Zeitachse zu plotten, und ich sehe die Datenbalken überlappen, wenn sie Daten für das gleiche Datum zeigen. Ich hatte erwartet, dass der Graph die Balken als sich gegenseitig auflösend zeigen würde, aber das ist nicht der Fall. Sehen Sie eine sample of code at this link ...Flot-Balkendiagramm: Balken überschneiden sich bei Zeitachse Problem

$.plot($("#placeholder"), newJson, 
{ 
    bars: { 
     show: 1, 
     barWidth: 24 * 60 * 60 * 1000 * 10 
    }, 
    xaxis: { mode:"time" } 
}); 

enter image description here

Antwort

5

Leider ist das nicht möglich, in flicht ohne irgendeine Art von Plugin. Ich schlage vor, dass Sie entweder stacking plugin verwenden, um einen vertikalen Stapel zu erhalten, oder ein externes Plugin wie orderBars.

In jeder von ihnen fügen Sie eine Option zu jeder Serie hinzu, die angibt, dass sie gestapelt/geordnet werden soll. Oder zu den allgemeinen Serienoptionen für Bars, wenn Sie möchten, dass sie für alles gelten.

$.plot($("#placeholder"), newJson, 
    {bars: { order:1, show: 1, barWidth: 24 * 60 * 60 * 1000 * 10 }, 
    xaxis: { mode:"time" } 
}); 

Hier ist ein funktionierendes Beispiel: http://jsfiddle.net/ryleyb/A8yNV/7/

+0

Sieht vielversprechend aus .. lass mich das versuchen .. – Faiz

+0

Danke ... Ich habe jetzt einige andere Probleme, obwohl diese OrderBars scheint einige zu beheben .. :) – Faiz

+0

Es könnte eine gute Idee sein, ein Plugin zu implementieren, das sich nicht ändert die x-Werte von Balken ... – Faiz

0

Ich habe gerade ein Problem mit der ORDER Eigenschaft gelöst: es funktioniert nicht, wenn einer der Serie einen NULL-Wert hat. In der Tat habe ich NULL-Wert verwendet, um zu vermeiden, eine winzige (0) Zeile für die Serie zu bekommen, aber in diesem Fall ist die folgende Reihenfolge der Stapel vollständig gestört. Durch Setzen einer 0 (ZERO) anstelle von NULL: alles ist in Ordnung.

Hinweis: Das gleiche Problem mit oder ohne das "orderBars plugin".

Hoffe, das wird helfen.