Исходные коды: https://github.com/bridget462/Live-figure.
Чтобы сделать живой график, который постоянно обновляется, чтобы отразить данные в режиме реального времени, использовать следующий метод вместо нормальных plt.show. ()
Ключевые методы для живого графа являются:
plt.draw ()
: отображать графикPLT.Pause ()
: продолжать отображать текущий кадр определенной продолжительностиplt.cla ()
: очистить предыдущий кадр
Используйте методы выше в цикле для постоянного обновления фигуры.
Коды
Мы используем только 2 библиотеки
import numpy as np # to generate random data import matplotlib.pyplot as plt # to make figure # optional (just for figure appearence) plt.style.use('seaborn-colorblind') plt.style.use('seaborn-whitegrid') print('library imported')
При использовании Jupyter, выполните команду ниже, чтобы создать интерактивную фигуру вместо отображения в ячейке Jupyter.
%matplotlib qt
Чтобы сделать живую фигуру, используйте ключевые методы, объясненные выше в цикле для обновления фигур. Также замените случайное число с вашими фактическими данными.
MEASUREMENT_TIME = 50 INTERVAL_SEC = 0.1 for i in range(MEASUREMENT_TIME): # replace with your data data = np.random.rand(100) plt.plot(data) # figure appearence adjustments plt.ylim(-0.2, 1.2) plt.title(f'FRAME {i+1}') # to avoid clearing last plot if (i != MEASUREMENT_TIME-1): plt.draw() plt.pause(INTERVAL_SEC) plt.cla() else: plt.show()
И это об этом. plt.draw ()
, PLT.Pause ()
, plt.cla ()
Может использоваться для любых других фигур, таких как 3D, полярные и т. Д.
Оригинал: “https://dev.to/bridget462/live-figure-with-jupyter-notebook-or-pure-python-file-using-matplotlib-46dn”