用imshow绘制一行一行

时间:2013-11-27 22:08:32

标签: python matplotlib plot imshow

我想绘制一行,因为每行c[row]的长度不一样。这是我使用的代码。无论c [row]是否有2,4或100个元素,每行都被映射/渲染到区间[0,1]。

 #vmin = ...
 #vmax = ...
 gca().set_autoscale_on(False)
 for row in range(len(c)):
   imshow([c[row]], interpolation = 'nearest', vmin = vmin, vmax = vmax, extent = [0, 1, row*1.0/len(c), (row+1.0)/len(c)])

它有效,但宽高比总是正方形!我无法添加aspect=其他内容,因为每次仅为一行调用imshow

如何获得矩形比例(示例2:1而不是方形1:1)

(或者也许有更好的想法将一行一行地绘制而不是imshow?)

1 个答案:

答案 0 :(得分:3)

您只需设置axes

的宽高比即可
ax = gca()
ax.set_aspect(2)
plt.draw()