matplotlib 缩放时重绘坐标轴
我有一个简单的图表,上面有一个导航工具栏。当我放大或移动图表时,图表会正确更新,但坐标轴的标签就乱了。就好像在绘制新标签之前没有清除旧的文本一样,所以你会看到新标签覆盖在旧标签上。如果我调整窗口大小,似乎会进行一次完整的重绘,这样标签就会修复。以下是我的简单示例:
import matplotlib
matplotlib.use('TkAgg')
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.backend_bases import key_press_handler
from matplotlib.figure import Figure
from Tix import *
from Tkconstants import *
root = Tk()
f = Figure(figsize=(12,5), dpi=100, frameon=False)
s = f.add_subplot(111, title="test")
x = [0,1,2,3,4,5]
y = [5,2,6,7,3,6]
s.plot(x,y,label="Test")
canvas = FigureCanvasTkAgg(f, master=root)
canvas.show()
canvas.get_tk_widget().pack(side=TOP, fill=BOTH, expand=1)
canvas._tkcanvas.pack(side=TOP, fill=BOTH, expand=1)
NavigationToolbar2TkAgg(canvas, root)
root.mainloop()
这是调整之前的样子:

这是移动之后的样子:

1 个回答
1
正如Oblivion所建议的:
去掉f = Figure(figsize=(12,5), dpi=100, frameon=False)
中的frameon=False
这个选项,就解决了问题。