Я пытаюсь использовать приведенный ниже код для динамического рисования графика из фрейма данных pandas.Проблема в том, что строка update_graph () выдает ошибки (https://gist.github.com/ishikawa-rei/759d9063c3add40712cd5a16696f9532). Если я закомментирую строку, код запускается, но на графике ничего не отображается, как ожидалось. Данные взяты из файла csv, который имеетодна строка данных, которая обновляется при изменении чего-либо и содержит только значения от -100 до 100, пример ниже.
google ... amazon ... apple
77 50 -100
.
import matplotlib
matplotlib.use('TkAgg')
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
objects = ("google","ibm","kaspersky","amazon","facebook","sony","microsoft","apple")
def update_graph():
fig.clear()
cols = ["google","ibm","kaspersky","amazon","facebook","sony","microsoft","apple"]
df = pd.read_csv("C:/Users/dmnte/PycharmProjects/sentiment_analysis/live_information.csv",header=None, names=cols,encoding = "UTF-8",low_memory=False)
y_pos = np.arange(len(objects))
performance = df.values.tolist()
flat_list = [item for sublist in performance for item in sublist]
plt.bar(y_pos, flat_list, align='center', alpha=0.5)
plt.xticks(y_pos, objects)
plt.ylabel('company sentiment (%)')
plt.title('Real time company sentiment')
fig.canvas.draw()
win.after(20000, update_graph())
fig = plt.figure()
win = fig.canvas.manager.window
update_graph()
plt.show()