How to create a plot in matplotlib without using pyplot
我已经每天使用 matplotlib 五个月了,但我仍然觉得创建新图形令人困惑。
通常我会创建一个带有 2×2 子图的图形,例如,使用类似的东西:
1
2 3 4 5 6 7 |
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 运行,即,我如何创建一个图形,用图形填充它,进行样式更改,并且只告诉该图形在我想要的确切时刻出现出现。这是我遇到的问题:
1
2 3 4 5 6 7 |
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]) |
在运行上述之后,唯一想到的就是使用:
1
|
plt.draw()
|
但这不起作用。使带有图的图形出现缺少什么?另外,是
1
|
fig = mpl.figure.Figure()
|
我要做的就是在没有 pyplot 的情况下创建图形?
您可以手动将合适的后端附加到您的图形,然后显示它:
1
2 3 |
from matplotlib.backends import backend_qt4agg # e.g.
backend_qt4agg.new_figure_manager_given_figure(1, fig) fig.show() |
…但为什么不使用
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/267878.html