Flot zeichnet seine Grafik auf HTML5 <canvas>
Element. So könnte das mögliche Szenario wie folgt sein:
- Abrufen von Bilddaten aus Leinwand mit
toDataURL
wie in this answer beschrieben.
- Erstellen Sie ein PDF mit jsPDF, verwenden Sie
addImage
wie im ersten Beispiel, um das Bild einzubetten.
ABER Notiz, in diesem Szenario Sie keine Achsenbeschriftungen in Bild sehen werden, weil sie nicht auf Leinwand gezogen werden, sie sind einfach <div>
Elemente mit position:relative
positioniert. Ich fand this post, wo der Autor ein Flotplugin anbietet, das Flot zwingt, Text auf Leinwand zu zeichnen, aber ich habe keine Idee, ob es funktioniert.UPD: Das Zeichnen von Etiketten auf Leinwand ist in der kommenden Version 0.8 enthalten (siehe Kommentare).
ABER die Legende ist auch nicht auf Leinwand gezogen, es ist auch ein richtig positioniert <div>
. Scheint wie Leute in der Flot-Community versuchen, etwas damit zu tun, habe ich zwei Pull-Anfragen gefunden, the first Modifizierung des Kerns, the other Einführung eines Plugins. Keiner von ihnen ist seit etwa 9 Monaten zusammengeführt, und sie sind für v. 0,9 Meilenstein markiert, der nach-next ist und kein Fälligkeitsdatum hat. Zumindest ist es möglich, diese Leute Repos zu klonen und ihre Arbeit zu testen.
Diskussionsforum viele Leute um Flot sind mit diesem Problem betroffen, aber leider gibt es keine stabilen, Out-of-Box, wie es noch zu tun - nur die Hoffnung, dass 0,9 endlich mal mit dieser Frage kommen adressiert.
der aktuelle Hauptzweig (0.8.0) nicht tatsächlich Achsenbeschriftungen die Leinwand ziehen. Die Fertigstellung dieser Funktionalität (da viele Leute immer noch eine Möglichkeit haben wollen, HTML-Text zu verwenden) ist das letzte verbleibende Arbeitselement, bevor wir 0.8.0 veröffentlichen. Die Fähigkeit, die gesamte Handlung - einschließlich der Legende - auf die Leinwand zu zeichnen, ist daher Teil unserer Zukunftspläne. Wir haben die beiden vorhandenen Pull-Anforderungen nicht zusammengeführt, da die erste wirklich nicht ordnungsgemäß implementiert wurde und die zweite nicht mit dem Modell übereinstimmt, das wir für Achsenbeschriftungen verwenden. – DNS
@DNS, danke für die "offizielle" Info! Ich habe den Teil meiner Antwort auf Achsenbeschriftungen aktualisiert. – NIA
die Pull-Anfrage, die den Kern geändert hat, funktionierte für mich. –