如何从figure对象显示matplotlib plot

kb5ga3dv  于 2023-10-24  发布在  其他
关注(0)|答案(2)|浏览(115)

下面是我的代码:

from matplotlib.figure import Figure

figure = Figure(figsize=(10, 5), dpi=dpi)

我如何让matplotlib显示这个图?我可以在tkinter中显示它,但我不能让它显示在标准的matplotlib窗口中。

qvk1mo1f

qvk1mo1f1#

根据AttributeError while trying to load the pickled matplotlib figure,一个简单的解决方法是:

fig = plt.Figure(...)
......
managed_fig = plt.figure(...)
canvas_manager = managed_fig.canvas.manager
canvas_manager.canvas.figure = fig
fig.set_canvas(canvas_manager.canvas)

请注意,我在环境中遇到了“'Figure'对象没有属性'_original_dpi'”。不确定这是否是我的PyPlot和PyQt5之间的兼容性问题。只是做了一个黑客:

fig._original_dpi = 60

来解决这个问题。不确定是否有更好的解决方案。

rmbxnbpk

rmbxnbpk2#

我通常使用matplotlib的pyplot进行即时生成(或在jupyter notebook中生成图像)。这看起来像下面这样:

import matplotlib.pyplot as plt

figure = plt.figure(figsize=(10, 5), dpi=dpi)
plt.show()

这将显示所需的(空白)图形。

相关问题