五个月以来,我每天都在使用 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/