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