AttributeError: 'FigureWidget' object has no attribute 'get_tk_widget'
时间: 2023-06-22 17:25:04 浏览: 81
这个错误通常是因为您在使用Matplotlib的FigureWidget时,调用了get_tk_widget()方法,但该方法只适用于普通的Figure对象,并不适用于FigureWidget对象。
如果您想在Tkinter中使用FigureWidget,可以考虑使用`FigureCanvasTkAgg`类。具体来说,您可以按照以下步骤进行:
1. 导入`FigureCanvasTkAgg`类:
```python
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
```
2. 创建一个Figure对象和一个FigureCanvasTkAgg对象:
```python
import matplotlib.pyplot as plt
fig = plt.Figure()
canvas = FigureCanvasTkAgg(fig, master=root)
```
其中,`root`是您的Tkinter窗口对象,可以根据您的实际情况进行修改。
3. 将FigureCanvasTkAgg对象添加到Tkinter窗口中:
```python
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
```
注意,这里调用的是`get_tk_widget()`方法。
4. 在Figure对象中绘制您需要的图形,例如:
```python
ax = fig.add_subplot(111)
ax.plot([1, 2, 3], [4, 5, 6])
```
这里的`ax`对象可以用于后续的图形修改等操作。
这样,您就可以在Tkinter窗口中使用Matplotlib的FigureWidget了。如果您还有其他问题,请随时提出。
阅读全文