Обновление графика matplotlib
Есть скрипт, вызывающий построение графика из базы данных
#!/usr/bin/env python3
import sqlite3
import time
import datetime
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import matplotlib as mpl
import numpy as np
from dateutil import parser
from matplotlib import style
import matplotlib.ticker as ticker
import matplotlib.animation as animation
#style.use('fivethirtyeight')##Use any style you like
#mpl.use('WebAgg')
fig, ax = plt.subplots()
def graph_data():
conn2g0 = sqlite3.connect(r"path2db")
c2g0 = conn2g0.cursor()
c2g0.execute('SELECT ch0, ch1, ch2, ch3, sample_time FROM samples_view WHERE id % 6 = 0 ORDER BY id LIMIT 1440 ')
data_f_g0 = c2g0.fetchall()
ch0_f_g0 = []
ch1_f_g0 = []
ch2_f_g0 = []
ch3_f_g0 = []
date_f_g0 = []
for row in data_f_g0:
ch0_f_g0.append(row[0])
ch1_f_g0.append(row[1])
ch2_f_g0.append(row[2])
ch3_f_g0.append(row[3])
date_f_g0.append(row[4])
dates_f_g0 = mdates.date2num(list(date_f_g0))
#fig.tight_layout()
plt.grid('axis="both"')
ax = plt.subplot (2, 2, 1)
plt.plot(dates_f_g0, ch0_f_g0,'-')##line style
plt.plot(dates_f_g0, ch1_f_g0,'-')##line style
plt.plot(dates_f_g0, ch2_f_g0,'-')##line style
plt.plot(dates_f_g0, ch3_f_g0,'-')##line style
plt.grid()
ax.xaxis.set_major_formatter(mdates.DateFormatter('%d.%m.%Y %H:%M:%S'))
fig.autofmt_xdate(rotation=60)
plt.legend(['U ch1', 'I ch1','P ch1','U AKB 1'])
fig.tight_layout()
graph_data()
Каким образом можно вызвать обновление данных в графике? Пробовал вызывать graph_data() каждую минуту, но он просто строит график в новой вкладке. Если вызывать animation, то он меняет цвет линий, что недопустимо. Каким образом можно получить желаемый результат?