[英]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.