matplotlib imshow 显示比例固定为正方形
我有一段代码,可以生成一个图表,像下面的例子一样。我想把输出的图表强制设置为一个 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 个回答
1
你可以这样定义坐标轴的比例:
pl.axes().set_aspect(0.5)
这里的0.5是用来调整你数据的比例关系,数据的比例是128:64,也就是2:1。
想了解更多信息,可以看看 这个回答。