2008-10-06 6 views
8

Nachdem ich die coole neue "Reputation" -Registerkarte auf der stackoverflow-Benutzerseite gesehen hatte, wurde ich inspiriert, ein wenig mit der Flotting-Charting-Bibliothek zu spielen. Ich habe ein Liniendiagramm, das mehrere hundert Serien enthält. Nur einige dieser Serien sind zu jeder Zeit sichtbar. Meine Datenreihen sind in mehrere "Kategorien" gruppiert und ich weise den numerischen Farbindex basierend auf dieser Kategorie zu. Ich wäre gerne in der Lage zu sehen, welche tatsächliche Farbe von Flot einem bestimmten Farbindexwert zugewiesen wurde, um letztendlich eine benutzerdefinierte Legende zu erstellen, die die Farbe mit meiner "Kategorie" von Daten in Beziehung setzt. Wie kann ich diese Farbwerte erhalten?Die Farbe einer Datenreihe aus einem Flotendiagramm erhalten

Ich sehe, dass ich mein eigenes Array für Farben bereitstellen kann, aber ich zögere dies zu tun, weil ich nicht sicher bin, wie viele Kategorien ich haben werde, bis ich die Daten laden. Ich nehme an, ich könnte nur ein Array erstellen, das nur Weg zu groß ist, aber das scheint verschwenderisch, wenn es möglich ist, Flot zu fragen, welche Farbe jede Serie ist.

Antwort

14

Es gibt ein Beispiel am Ende von http://flot.googlecode.com/svn/trunk/API.txt, das genau das tut. Etwas wie:

var plot = $.plot(placeholder, data, options) 
var series = plot.getData(); 
for (var i = 0; i < series.length; ++i) 
    alert(series[i].color); 
+0

Und ich habe tatsächlich versucht, diese Dokumente zu lesen ... Ich denke, ich habe am Ende abgehakt! Vielen Dank! –

+0

Wie bestimmte Serien in 'Serie' zu ​​bestimmen? –

+0

Sie werden in der gleichen Reihenfolge wie in "Daten" sein. – Tom