python - 如何在不使用 pyplot 的情况下在 matplotlib 中创建绘图

标签 python matplotlib

五个月以来,我每天都在使用 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 的情况下,我需要做的就是创建图形吗?

最佳答案

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

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

...但为什么不使用 pyplot

关于python - 如何在不使用 pyplot 的情况下在 matplotlib 中创建绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30809316/

相关文章:

python - 加速 Numpy Meshgrid 命令

python - 是否可以在附魔中传递多个字典?

python - 数据框聚合到数据框

python - 用python写入大量文件,最后明显变慢

python - 带有值图、Pandas 和 MatPlotLib 的月、年

javascript - Jupyter (IPython) notebook 中的交互式绘图,带有可拖动点,在拖动时调用 Python 代码

python - python 中的曲线拟合

python - Pandas to_datetime 未将日期时间值格式化为所需格式 (dd/mm/YYYY HH :MM:SS AM/PM)

python - App Engine (Python) 数据存储预调用 API Hook

python - 与内联相比,for 循环中元组拆包的行为