0

我尝试如下绘制我的数据:

第一个子图

alpha = ['Joy', 'fear', 'sadness', 'thankful','anger','surprise','love']
fig = pl.figure()
ax = fig.add_subplot(511,title='SGD')
cax = ax.matshow(cm)
fig.colorbar(cax)

ax.set_xticklabels(['']+alpha)
ax.set_yticklabels(['']+alpha)

稍后使用新厘米的第二个子图:

ax = fig.add_subplot(521,title='LIBLINEAR')
cax = ax.matshow(cm)
fig.colorbar(cax)

ax.set_xticklabels(['']+alpha)
ax.set_yticklabels(['']+alpha)

稍后使用新厘米的第三个子图:

ax = fig.add_subplot(512,title='MNB')
cax = ax.matshow(cm)
fig.colorbar(cax)

ax.set_xticklabels(['']+alpha)
ax.set_yticklabels(['']+alpha)

稍后使用新厘米的第四个子图

ax = fig.add_subplot(522,title='BNB')
cax = ax.matshow(cm)
fig.colorbar(cax)

ax.set_xticklabels(['']+alpha)
ax.set_yticklabels(['']+alpha)

最后一个带有新厘米的子图

ax = fig.add_subplot(532,title='NC')
cax = ax.matshow(cm)
fig.colorbar(cax)

ax.set_xticklabels(['']+alpha)
ax.set_yticklabels(['']+alpha)
pl.show()

我明白了:

在此处输入图像描述

我究竟做错了什么 ?

4

1 回答 1

5

您每次都更改子图的布局。你使用fig.add_subplot(511)which 是fig.add_subplot(n_rows, n_columns, index). n_rowsn_columns确定图中子地块的布局,index位置(从1开始)。

所以如果你想有五行两列,你让

ax = fig.add_subplot(5,2,1)
(...)
ax = fig.add_subplot(5,2,2)
(...)    
ax = fig.add_subplot(5,2,3)

绘制第一行第一列;第一行第二列;第 2 行、第 1 列等

同样,请注意fig.add_subplot(5,2,1)fig.add_subplot(521)是等价的。

于 2013-04-03T15:36:48.563 回答