matplotlib imshow显示比例修正为方形

时间:2014-08-22 21:38:04

标签: python matplotlib

我有基于以下示例生成绘图的代码。如果可能,我想强制输出的绘图为128x128平方而不是64x128。即使其矩阵不具有NxN属性,我所拥有的数据也应被视为正方形。

谢谢。

import numpy as np
import pylab as pl

my_matrix = []
for x in range(128):
    row = []
    for value in range(64):
        row.append( float(value) / 63 )
    my_matrix.append(row)

array = np.matrix(my_matrix)
pl.axes()
pl.imshow(array, interpolation='none', cmap='jet', origin='lower')
pl.colorbar(shrink=0.95)
pl.xticks(())
pl.yticks(())
pl.show()

1 个答案:

答案 0 :(得分:1)

您可以按如下方式定义轴纵横比:

pl.axes().set_aspect(0.5)

因子0.5补偿了数据的宽高比128:64 = 2:1。

有关详细信息,您可以查看this answer