Python Kivy график в реальном времени - PullRequest
0 голосов
/ 28 февраля 2019

Я учусь использовать Kivy.Моя цель - создать приложение для отображения звуковой диаграммы бегущего звука.

К сожалению, я не могу обновить график в режиме реального времени.Я получаю "NameError: имя 'graph' не определено", и я действительно не знаю, как это исправить.

Код ниже:

from math import sin
from kivy.garden.graph import Graph, MeshLinePlot
from kivy.garden.matplotlib.backend_kivyagg import FigureCanvasKivyAgg
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()
        Clock.schedule_interval(self.update_points, 1/60.)
        Clock.schedule_interval(self.update_xaxis, 1/60.)
        box.add_widget(graph)
        return box

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

    def update_points(self, *args):
        #self.plot.points = [(i,i)]

        self.plot.points = [(x, sin(x / 10.)) for x in range(0, 101)]





MyApp().run()

1 Ответ

0 голосов
/ 28 февраля 2019

Ваши ссылки на plot и graph (кроме случаев, когда они созданы) должны быть self.plot и self.graph.Кроме того, вам не нужна строка global graph в вашем методе update_xaxis().После того, как вы внесете это исправление, ваш следующий вопрос должен быть отдельным постом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...