我现在每天都在使用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(...)
Run Code Online (Sandbox Code Playgroud)
我现在的问题是:如何完全独立于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])
Run Code Online (Sandbox Code Playgroud)
运行上述内容之后,唯一想到的就是使用:
plt.draw()
Run Code Online (Sandbox Code Playgroud)
但这不起作用.有图的人物出现了什么?也是
fig = mpl.figure.Figure()
Run Code Online (Sandbox Code Playgroud)
我需要做的就是创建没有pyplot的数字?
您可以手动将合适的后端附加到您的图形上,然后显示它:
from matplotlib.backends import backend_qt4agg # e.g.
backend_qt4agg.new_figure_manager_given_figure(1, fig)
fig.show()
Run Code Online (Sandbox Code Playgroud)
...但为什么不使用pyplot呢?
| 归档时间: |
|
| 查看次数: |
5275 次 |
| 最近记录: |