如果您創建了一個二維圖的數組,例如用:
>>> fig, axarray = plt.subplots(3, 4)
然後axarray
是物體的2D陣列,用含有各元素的matplotlib.axes.AxesSubplot
:
>>> axarray.shape
(3, 4)
的問題是,當你索引axarray[0]
,實際上是一個索引整個行該陣列的,包含幾個軸:
>>> axarray[0].shape
(4,)
>>> type(axarray[0])
numpy.ndarray
但是,如果您分配地址
>>> type(axarray[0,0])
matplotlib.axes.AxesSubplot
>>> axarray[0,0].set_title('Top left')
設置所有陣列中的軸的屬性的一個快速的方法是將環在軸陣列上的平坦迭代器:陣列中的SA單個元件然後可以以正常的方式設置它的屬性:
for ii,ax in enumerate(axarray.flat):
ax.set_title('Axis %i' %ii)
你能做的就是「解壓」的陣列成單個軸對象的嵌套元組中的軸,雖然這時候你正在處理大量行/列變得有點尷尬的另一件事情:
fig, ((ax1, ax2, ax3, ax4), (ax5, ax6, ax7, ax8), (ax9, ax10, ax11, ax12)) \
= plt.subplots(3,4)
你是對的:每個子圖都包含在ax數組中,並且可以獨立地定製每個子圖。例如:http://matplotlib.org/examples/pylab_examples/log_demo.html – lucasg