FigureCanvasTkAgg和Pyplot之间的连接?

时间:2020-02-21 18:36:17

标签: python matplotlib tkinter

我已经在tkinter GUI中嵌入了一个绘图,所以我使用FigureCanvasTkAgg,但是我只使用pyplot制作了实时绘图,因此我想使用很多命令,但我找不到等同于。例如,我正在尝试做诸如

def animate(i):
data1 = pd.read_csv('test.csv')
x_list = []
y_list = []
for datum in data1:
    xp=data1['x_value']
    yp = data1['total_1']
    x_list.append(xp)
    y_list.append(yp)
    global line1
    line1, = sensor_graph.plot(x_list, y_list, color='black')

但是这会返回错误ValueError: too many values to unpack (expected 1),这很奇怪,因为我正在加载的数据本质上是具有三个键的字典。那使我想到了按照以下方式做点事的想法(摘自youtuber Corey Schafer)

def animate(i):
data = pd.read_csv('test.csv')
x = data['x_value']
y1 = data['total_1']
y2 = data['total_2']

ax = plt.gca()
line1, line2 = ax.lines

line1.set_data(x, y1)
line2.set_data(x, y2)

xlim_low, xlim_high = ax.get_xlim()
ylim_low, ylim_high = ax.get_ylim()

ax.set_xlim(xlim_low, (x.max() + 5))

y1max = y1.max()
y2max = y2.max()
current_ymax = y1max if (y1max > y2max) else y2max

y1min = y1.min()
y2min = y2.min()
current_ymin = y1min if (y1min < y2min) else y2min

ax.set_ylim((current_ymin - 5), (current_ymax + 5))

但是如前所述,它有一些pyplot独占。任何帮助都将不胜感激!

0 个答案:

没有答案
相关问题