es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El código de gráficos de Python Kivy solo muestra ‘Python ha dejado de funcionar’ como mensaje de error.

Estoy tratando de jugar con una gráfica Kivy en tiempo real utilizando el módulo kivy_garden.graph. Sin embargo, cuando ejecuto el siguiente código, no obtengo ningún mensaje de error aparte de un mensaje emergente que indica que ‘Python ha dejado de funcionar’. Una vez que presiono cancelar en eso, obtengo Process finished with exit code -1073741819 (0xC0000005). Este es mi código:

from math import sin
from kivy_garden.graph import Graph, MeshLinePlot
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.clock import Clock

class MyApp(App):
    plot = MeshLinePlot(color=[1, 0, 0, 1])

    graph = Graph(xlabel='X', ylabel='Y', x_ticks_minor=5,
        x_ticks_major=25, y_ticks_major=1,
        y_grid_label=False, x_grid_label=False, padding=5,
        x_grid=False, y_grid=False, xmin=-0, xmax=100, ymin=-1, ymax=1,)

    def build(self):
        box = BoxLayout()
        box.add_widget(self.graph)
        Clock.schedule_interval(self.update_points, 1/60.)
        Clock.schedule_interval(self.update_xaxis, 1/60.)
        return box

    def update_xaxis(self,*args):
        self.graph.xmin = 0
        self.graph.xmax = 100

    def update_points(self, *args):
        self.plot.points = [(x, sin(x / 10.)) for x in range(0, 101)]

MyApp().run()

Mis otras aplicaciones Kivy están funcionando perfectamente en la misma instalación de Python, por lo que estoy inclinado a creer que hay algo mal en mi código.

¡Gracias por su ayuda!

Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema probablemente esté relacionado con una violación de acceso a memoria o un error de comportamiento no definido en las clases MeshLinePlot o Graph.

    Una solución posible que puedes intentar es reemplazar MeshLinePlot con otro tipo de gráfico, como LinePlot, y ver si el problema persiste. Alternativamente, también puedes intentar actualizar Kivy y/o Kivy Garden a sus últimas versiones para ver si se ha resuelto el problema.

    Si ninguna de estas soluciones funciona, es posible que necesites hacer algunas pruebas de depuración verificando los registros del sistema o utilizando un depurador como PyCharm para identificar el origen del problema.

Comments are closed.