我的代码包含以下行:
from matplotlib.figure import Figure
figure = Figure(figsize=(10, 5), dpi=dpi)
我该如何在matplotlib中显示这个图形?我已经成功将其嵌入到tkinter中显示,但我也想在标准的matplotlib窗口中显示它。但是无论如何我都无法使其正常工作。请帮忙解决。
我的代码包含以下行:
from matplotlib.figure import Figure
figure = Figure(figsize=(10, 5), dpi=dpi)
fig = plt.Figure(...)
......
managed_fig = plt.figure(...)
canvas_manager = managed_fig.canvas.manager
canvas_manager.canvas.figure = fig
fig.set_canvas(canvas_manager.canvas)
fig._original_dpi = 60
我通常使用matplotlib的pyplot进行即时生成(或在jupyter笔记本中生成图像)。这将看起来像下面这样:
import matplotlib.pyplot as plt
figure = plt.figure(figsize=(10, 5), dpi=dpi)
plt.show()
这将按预期显示(空白)图像。
plt.figure
而不是 Figure
看起来可以工作。但是当我绘制图形时,我也会得到另一个弹出窗口,其中包含一个带有色条的 matplotlib 图形,如此处所示 here。而且当我在 tkinter 中绘图时,然后决定用 plt.show()
绘图,它会显示 2 次绘图以及 2 次色条绘图。(当我在 tkinter 中绘图 2 次时,没有绘图显示 3 次,依此类推)。 - J..
figure.show()
,但这并没有起作用。你说的使用pyplot是什么意思?我认为我需要Figure才能在tkinter中稍后使用FigureCanvasTkAgg(figure, master=self)
。这里的示例都使用matplotlib.figure。 - J..