matplotlib 基本用法

Source

plt.subplots()是一个函数,返回一个包含figure和axes对象的元组。因此,使用fig,ax = plt.subplots()将元组分解为fig和ax两个变量。
下面两种表达方式具有同样的效果,可以看出fig.ax = plt.subplots()较为简洁。

fig = plt.figure()
fig.add_subplt(111)

fig,ax = plt.subplots()

通常,我们只用到ax.

fig,ax = plt.subplots(nrows=2, ncols=2)
axes = ax.flatten()

把父图分成2*2个子图,ax.flatten()把子图展开赋值给axes,axes[0]便是第一个子图,axes[1]是第二个... ...

ax.set_xticks()设置刻度 ,matplotlib将刻度放在对应范围的哪个位置,默认情况下这些刻度就是刻度标签;

ax[x][y].set_xticklabels(),可以将任何其他类型的值作为标签.可以赋值给之前已经设置过的set_xtick.

ax[x][y].set_xticks([0,1,2,3,4]) # 将0,1,2,3,4作为x轴刻度标签

ax[x][y].clear()

ax[x][y].imshow(np.reshape(decoded_data.data.numpy()[i], (28, 28)), cmap='gray')

plt.show()将显示您正在处理的当前图形。

plt.draw()将重新绘制该图形。这使您可以在交互模式下工作,并且,如果您更改了数据或格式,则允许图形本身更改。

plt.draw文档状态:

如果图形修改完全由

函数完成,如果修改序列以pyplot函数结束,或者如果matplotlib处于非交互模式并且修改序列以show()或savefig()结束,则不需要该选项。

这似乎表明,在不处于交互模式的情况下,在plt.show()之前使用plt.draw()在大多数情况下都是多余的。唯一需要它的时候是,如果你正在做一些非常奇怪的修改,而不涉及使用pyplot函数。