Documentation Frappe Framework

Frappe Framework

API Chart

RealtimeChart dessine un graphique SVG et y ajoute des points reçus par un événement temps réel, ou ajoutés à la main.

1 min de lectureMis à jour le Source : docs.frappe.io

Graphiques SVG

Frappe fournit des graphiques SVG configurables. La documentation de la bibliothèque est sur frappe.io/charts. Le guide bureau Créer des graphiques renvoie vers la même bibliothèque.

RealtimeChart

new frappe.ui.RealtimeChart(dom_element, event_name, max_label_count, data) ajoute la mise à jour temps réel au-dessus de l’API Frappe Charts.

ArgumentRôle
dom_elementÉlément HTML du graphique
event_nameÉvénement socket qui apporte le flux
max_label_countNombre maximal d’étiquettes sur l’axe des x
dataDonnées initiales

L’exemple crée une série « Some Data » vide, puis un graphique ligne dans #chart, branché sur test_event, avec 8 étiquettes, un titre, une hauteur de 250 et deux couleurs.

Côté Python, un travail planifié peut publier le point. La source indique de passer par les hooks :

python
data = {"label": 1, "points": [10]}
frappe.publish_realtime("test_event", data)

label est l’étiquette ajoutée au graphique. points est le tableau des ordonnées. Sa longueur dépend du nombre de séries.

Contrôler le flux

Appel publiéEffet
frappe.ui.RealtimeChart.start_updating()Écoute l’événement et met le graphique à jour
frappe.ui.RealtimeChart.stop_updating()Cesse d’écouter l’événement d’initialisation
frappe.ui.update_chart(label, data)Ajoute à la main une étiquette et ses valeurs, par exemple frappe.ui.update_chart(2, [30])

Point d’attention

start_updating et stop_updating sont montrés sur frappe.ui.RealtimeChart, tandis que la mise à jour manuelle est frappe.ui.update_chart. Le nombre de valeurs dans points doit suivre le nombre de séries.