Wie man die Größe einer Flot Diagramm, wenn Sie die div-Größe ändert
Ich bin mit dem Flot-Diagramme-Bibliothek jQuery plugin und ich habe nicht gefunden eine gute Art das zu handhaben, die Größe des Graphen, wenn es mit <div>
Größe ändert (zum Beispiel durch Fenster in der Größe verändern). Beim Umgang mit dem onresize-event, ich habe dafür gesorgt, dass die Breite und Höhe der mit <div>
werden aktualisiert, um die richtige Größe und dann versucht, Sie anzurufen, beide setupGrid und zeichnen Sie auf das plot-Objekt, aber keine Wirkung. Ich ' ve hatte einigen Erfolg mit dem Ansatz, einfach entfernen und readding die mit <div>
und replotting die Grafik. Dies scheint jedoch anfällig zu stecken, in unendlicher resize-Ereignis-Schleifen, wenn ich noch andere <div>
Elemente, um das Dokument zur gleichen Zeit (wie für die tooltips für die Grafik), da ich vermute, dass diejenigen, die können, trigger-resize-Ereignisse? Ist es ein guter Weg, um zu umgehen, dass ich bin fehlt?
(Ich bin auch mit ExplorerCanvas für den IE, um der Lage sein zu verwenden, Flot, wenn das vielleicht etwas damit zu tun haben. Ich habe nicht wirklich versucht, in anderen Browsern noch)
InformationsquelleAutor Will Gorman | 2010-05-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich gerade gefunden die Bindung an das resize-Ereignis des Fensters und Aufruf von plot funktioniert wirklich gut. Zum Beispiel habe ich meine Daten und gespeicherten Optionen in der Variablen auf der Seite. Dann habe ich dieses setup auf $(document).ready():
Eigentlich mag ich die Art und Weise Sie dies getan haben. Es entfällt die Notwendigkeit für das resize-plugin zu. Der einzige Nachteil, der mir aufgefallen ist ist ein leichtes Ruckeln beim ändern aber nichts großes. Danke!
InformationsquelleAutor Kris Fox
Die neueste version des flot-API docs, zumindest beschreibt ein resize-Ereignis, das funktioniert wie beworben.
plot.resize(); plot.setupGrid(); plot.draw();
funktioniert für mich, wo plot:var plot = $.plot($('#graph_div'), data, opts);
InformationsquelleAutor bryfox
Ich nur eine Lösung gefunden, um dieses selbst. Ich umwickelt habe mein Aufruf
$.plot()
so dass möglicherweise der eigentliche Grund für mein spezielles problem aber flot weigerte sich, die Größe in einer fristgerechten Weise, selbst wenn ich die jQueryresize
Veranstaltung. Hier ist mein code ändern, dass Feste alles:InformationsquelleAutor Buddy123
Der einfachste Weg ist die Verwendung der resize-plugin. Es ist hier gezeigt: http://www.flotcharts.org/flot/examples/resize/
Aber Sie fügen nur
InformationsquelleAutor Loren
Ich scheine eine Lösung gefunden zu haben, obwohl ich bin mir nicht ganz sicher, warum es funktioniert. Ich bin immer noch mit dem Ansatz zu entfernen und readding die mit
<div>
aus dem Dokument und replotting die Grafik. Aber wo ich vorher getan hatteerschien anfällig für immer in das, was zu sein schien eine unendliche Schleife, je nachdem, was der redrawFunc Tat, um das Dokument.
Stattdessen habe ich versucht, mit Hilfe von jQuery resize-Bindung
Bisher, egal was andere änderungen, die ich machen, um das Dokument in der redrawFunc ich hatte noch nicht ein problem mit diesem Ansatz stecken in einer Schleife noch. Ich bin nur nicht sicher, warum.
InformationsquelleAutor Will Gorman