我对如何将matplotlib与tkinter或pyqt结合在一起经验很少。 我需要在matplotlib图表上使用水平滚动条。 我想水平缩放图形并从头开始滚动图形 到从文件加载的数据的末尾。 在查看示例之后,我添加了滚动条。 但是她对图表完全没有反应。)
当我关闭窗口时,该过程并没有结束(如何删除不理解的示例,请参见此处的示例enter link)
import tkinter
from tkinter import *
from matplotlib.backends.backend_tkagg import (
FigureCanvasTkAgg, NavigationToolbar2Tk)
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
root = tkinter.Tk()
x = pd.read_csv('file.txt',
index_col='DATE',
parse_dates=True,
infer_datetime_format=True)
z = x.iloc[:, 3].values
N = len(z)
ind = np.arange(N)
fig, ax = plt.subplots()
ax.plot(ind, z)
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.show()
canvas.get_tk_widget().pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1)
toolbar = NavigationToolbar2Tk(canvas, root)
toolbar.update()
canvas.get_tk_widget().pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1)
scrollbar = tkinter.Scrollbar(master=root, orient=HORIZONTAL)
scrollbar.pack(side=tkinter.BOTTOM, fill=X)
tkinter.mainloop()
添加一行后
scrollbar["command"] = canvas.get_tk_widget().xview
如前所述-MaxiMouse。 图形滚动,但不沿整个长度滚动。 放大后,我需要滚动才能处理所有数据。我将其显示在视频的末尾。
答案 0 :(得分:0)
将其放在F[2^n - 1]
调用之前:
tkinter.mainloop()