如何在matplotlib中不使用pyp创建绘图

2024-04-20 09:49:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我每天都在使用matplotlib已经有五个月了,但我仍然觉得创建新的图形令人困惑。

通常,我使用2x2子块创建一个图形,例如,一些东西:

import matplotlib.pyplot as plt
import itertools as it
fig,axes = plt.subplots(2,2)
axit = (ax for ax in it.chain(*axes))
for each of four data series I want to plot:
    ax = next(axit)
    ax.plot(...)

我现在的问题是:如何完全独立于pyplot操作,即,如何创建一个图形,用图形填充它,进行样式更改,并且只告诉该图形在我希望它出现的确切时刻出现。以下是我遇到的问题:

import matplotlib as mpl
gs = gridspec.GridSpec(2,2)
fig = mpl.figure.Figure()
ax1 = fig.add_subplot(gs[0])
ax1.plot([1,2,3])
ax2 = fig.add_subplot(gs[1])
ax2.plot([3,2,1])

在运行上述操作之后,唯一想到的是使用:

plt.draw()

但这不管用。缺少什么才能使带有曲线图的图形出现?还有,就是

fig = mpl.figure.Figure()

我要做的就是创建没有pyplot的图形?


Tags: importgs图形forplotmatplotlibasfig
1条回答
网友
1楼 · 发布于 2024-04-20 09:49:04

您可以手动将合适的backend附加到您的图形,然后显示它:

from matplotlib.backends import backend_qt4agg  # e.g.
backend_qt4agg.new_figure_manager_given_figure(1, fig)
fig.show()

。。。但是为什么不使用pyplot

相关问题 更多 >