anzeigen von benutzerdefinierten tooltip, wenn die Maus über einen Punkt in der flot
Vom Beispiel hier, ich Art von wissen, wie Sie eine Flot Diagramm mit tooltips, wenn die Maus. Aber die Beispiele zeigen nur auf, wie man tooltips mit dem x-Wert, y-Wert, label, etc., und ich kann nicht herausfinden, wie man erstellen Sie mehrere benutzerdefinierte tooltips.
Gibt es irgendwo kann ich anfügen benutzerdefinierte Daten, auf die ich zugreifen kann, die beim erstellen der tooltip?
Zum Beispiel zu vereinfachen, nehmen wir an, mein code sieht wie folgt aus:
var d = [ { label: "Fake!", data: [ [1290802154, 0.3], [1292502155, 0.1] ] } ];
var options = {
xaxis: { mode: "time" },
series: {
lines: { show: true },
points: { show: true }
},
grid: { hoverable: true, clickable: true }
};
$.plot($("#placeholder"), d, options);
Nun, wenn Sie auf den ersten Datenpunkt, möchte ich den tooltip zu zeigen, "Hallo", und beim Klick auf den zweiten Datenpunkt-ich will zeigen, "Bye". Wie mache ich das? Bei der Bindung der plothover Veranstaltung
$(".placeholder").bind("plothover", function (event, pos, item) { /* etc. */ };
Ich bin mir nicht sicher, was "Sache" bezieht, und so fügen Sie Daten zu es.
InformationsquelleAutor grautur | 2010-12-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier eine grobe JSFiddle-Beispiel, dass ich peitschte. Nicht sicher, ob es funktionieren genau, wie du möchtest, aber könnten Funken eine Idee...
[update]
werden Sie wollen, zu binden, um die
Ereignis für das klicken auf Ereignisse
[update2] Aktualisiertes Beispiel
Ich hab eingestellt das Beispiel verwenden Sie Ihre test-Daten und arbeiten mehr mit dem, was Sie beschrieben haben. Für die
item
Objekt es scheint, dass es generiert " on the fly also, was ich sagen kann, Sie können nicht fügen Sie zusätzliche Daten ein. Sie können jedoch erstellen ein array zum Zwischenspeichern deritem
Objekte, die, wenn geklickt wird, und fügen Sie weitere Daten, um Sie und verwenden Sie Sie für diehover
Veranstaltung.Dieses neue Beispiel macht genau das, es zeigt die normalen tooltip, wenn nichts geklickt wird. aber sobald es angeklickt wird bestimmt, ob der Punkt angeklickt wurde, die erste oder die zweite und fügt einen Zusatz-Eigenschaft, um die
item
Objekt namensalternateText
und speichert es in einem array mit dem NamenitemsClicked
.Nun, wenn ein Punkt schwebte über prüft, um zu sehen, ob es ein zwischengespeichertes
item
Objekt innerhalb des Arrays basieren auf den gleichen index der aktuellenitem
Objekt, das man überitem.dataIndex
. Wenn es einen entsprechenden index in den cache-arrayitemsClicked
es wird greifen dieitem
- Objekt aus und verwenden Sie diealternateText
Eigenschaft Hinzugefügt wurde, während dieclick
Ereignis zuvor.Der erste Punkt ist
item
Objekt würde in etwa so Aussehen:Einmal geklickt, es würde dann so Aussehen und gespeichert werden, in der
itemsClicked
array:Bitte lassen Sie mich wissen, ob dies hilfreich ist oder nicht, wenn nicht werde ich still und stoppen die Aktualisierung meiner Antwort 😛
InformationsquelleAutor subhaze
Können Sie Daten hinzufügen, um die Serie einfach, indem Sie das Daten-array.
Statt
Können Sie
Und dann diese Informationen verwenden, um zu zeigen, ein benutzerdefiniertes Etikett.
Sehen, diese Geige für ein vollständiges Beispiel:
http://jsfiddle.net/UtcBK/328/
InformationsquelleAutor Lasse Skindstad Ebert
Sie können auch versuchen folgenden code:
HTML-body:
Skript:
InformationsquelleAutor Amol M Kulkarni