繁体   English   中英

如何从图形对象显示 matplotlib 图

[英]How to show matplotlib plot from a figure object

我的代码包含以下几行:

from matplotlib.figure import Figure

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

我怎样才能得到 matplotlib 来显示这个数字? 我还展示了它嵌入在 tkinter 中,效果很好。 但是,我也可以在标准 matplotlib 窗口中显示它。 但我终其一生都无法让它发挥作用。

根据尝试加载腌制 matplotlib 图形时的 AttributeError ,一个简单的解决方法是:

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

解决这个问题。 不知道有没有更好的解决方案。

我通常使用 matplotlib 的 pyplot 进行即时生成(或在 jupyter notebooks 中生成图像)。 这将如下所示:

import matplotlib.pyplot as plt

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM