Построение прямых данных с использованием matplotlib - PullRequest
0 голосов
/ 09 июня 2018

Я пытался построить график, используя matplotlib.это показывает ошибку:

ani=animation.FuncAnimation(f,animate, interval=1000)
  File "C:\Users\hp\AppData\Local\Programs\Python\Python36\lib\site-packages\matplotlib\animation.py", line 1703, in __init__
    TimedAnimation.__init__(self, fig, **kwargs)
  File "C:\Users\hp\AppData\Local\Programs\Python\Python36\lib\site-packages\matplotlib\animation.py", line 1465, in __init__
    event_source = fig.canvas.new_timer()
AttributeError: 'NoneType' object has no attribute 'new_timer'

Мой код:

 f = Figure(figsize=(5,5), dpi=100)
    a = f.add_subplot(111)


    def animate(i):
        pullData=open("ip.txt","r").read()
        dataList= pullData.split('\n')
        xList=[]
        yList=[]
        for eachLine in dataList:
            if len(eachLine)>1:
                x,y=eachLine.split(',')
                xList.append(int(x))
                yList.append(int(y))

        a.clear()
        a.plot(xList,yList)
        a.show()

    ani=animation.FuncAnimation(f,animate, interval=1000)

1 Ответ

0 голосов
/ 09 июня 2018

Нет холста фигуры, из которого можно получить таймер для анимации.

Обычно вы используете pyplot (import matplotlib.pyplot as plt) и позволяете ему создать фигуру с холстом для вас через plt.figure() или plt.subplots().

Если вы этого не делаете, вам нужно вручную прикрепить свою фигуру к холсту, и, кроме того, вам, конечно, нужно создать графический интерфейс пользователя с помощью одного из поддерживаемых фреймворков, таких как Tk, PyQt, Wx и т. Д.

Какой маршрут из тех, которые вы хотите выбрать, не ясен из вопроса и будет зависеть от конечной цели создаваемого вами приложения.

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