python graph kivy

python - usando Kivy Garden Graph en lenguaje KV



(3)

¿Cómo uso el módulo garden.graph dentro del archivo kv? Solo encontré documentación que explicaba cómo usarlo en el script principal de python.

kivy.garden.graph el kivy.garden.graph en el archivo python, y puedo agregar el Graph dentro del archivo kv, pero no encontré ninguna documentación sobre cómo configurar el tamaño, los trazados, etc.

Graph: id: graph_test plot: MeshLinePlot

esto da un error ya que MeshLinePlot is not defined , aunque lo MeshLinePlot is not defined en el lado de Python.

cualquier ayuda sería muy apreciada, tal vez podríamos agregar esta información al léxico github del gráfico también.


Basándose en la respuesta de Piwnk:

Agregué en el archivo .kv

#:import MeshLinePlot kivy.garden.graph.MeshLinePlot <SetGraph>: graph_test : graph_test Graph: id: graph_test plot: MeshLinePlot xlabel:''X'' ylabel:''Y'' x_ticks_minor:5 x_tics_major:25 y_ticks_major:1 y_grid_label:True x_grid_label:True padding:5 x_grid:True y_grid:True xmin:-0 xmax:100 ymin:-1 ymax:1 pos: 0, root.height / 6 size: root.width * 2 / 3 , root.height * 18 / 24

En main.php agregué

from math import sin from kivy.garden.graph import Graph, MeshLinePlot class SetGraph(Widget): graph_test = ObjectProperty(None) update_graph(self): plot = MeshLinePlot(color=[1, 0, 0, 1]) plot.points = [(x, sin(x / 10.)) for x in range(0, 101)] self.graph_test.add_plot(plot) class graphLayoutApp(App): def build(self): disp = SetGraph() disp.update_graph() return disp if __name__ == ''__main__'': graphLayoutApp().run()

Cambié mi solución probada original a nombres más descriptivos. Con suerte, no he cometido ningún error. Avíseme si la solución no está completa.


Creo que las inclemencias estaban en el camino correcto. El uso de #: import debería poder importar el archivo.

escribe esto en el archivo kv:

#:import MeshLinePlot

debería poder importar el módulo, como lo muestra la documentación de kv , también


Tenía el mismo problema. Aquí está la solución:

Generalmente, según la documentación de kivy, en el archivo kv:

#:import name x.y.z

es equivalente a:

from x.y import z as name

Entonces deberías usar lo siguiente:

#:import MeshLinePlot kivy.garden.graph.MeshLinePlot

Trabajé en mi caso con la clase Graph pero, para ser honesto, aún no logré agregar esta gráfica al gráfico.