1

我想逐行绘制一些东西因为每一行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?)

4

1 回答 1

3

您只需要设置的纵横比axes

ax = gca()
ax.set_aspect(2)
plt.draw()
于 2013-11-27T22:51:35.413 回答