gpt4 book ai didi

python - 带有 OO Matplotlib 的交互式图形

转载 作者:太空狗 更新时间:2023-10-29 21:41:05 24 4
gpt4 key购买 nike

通过 OO API 使用 Matplotlib 对于非交互式后端来说非常简单:

 from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure

fig = Figure()
canvas = FigureCanvas(fig)
ax = fig.add_subplot(1,1,1)
ax.plot([1,2,3])
canvas.print_figure('test.png')

但如果我尝试在交互式后端重复类似的操作,我会惨败(我什至无法让交互式图形出现在第一位)。有没有人有通过 OO API 使用 Matplotlib 创建交互式图形的示例?

最佳答案

那么,您需要使用支持交互的后端!

backend_agg 不是交互式的。 backend_tkagg(或其他类似后端之一)是。

一旦你使用了交互式后端,你需要做更多像这样的事情:

import matplotlib.backends.backend_tkagg as backend
from matplotlib.figure import Figure

manager = backend.new_figure_manager(0)
fig = manager.canvas.figure
ax = fig.add_subplot(1,1,1)
ax.plot([1,2,3])
fig.show()
backend.show()

老实说,这不是使用 oo 接口(interface)的方式。如果您需要交互式绘图,请执行以下操作:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.plot([1,2,3])
plt.show()

您仍在使用 oo 界面,您只是让 pyplot 处理创建图形管理器并为您进入 gui 主循环。

关于python - 带有 OO Matplotlib 的交互式图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5030920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com