python - 使用 imshow 绘制一行又一行

标签 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?)

最佳答案

您只需设置轴的纵横比

ax = gca()
ax.set_aspect(2)
plt.draw()

关于python - 使用 imshow 绘制一行又一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20254031/

相关文章:

Python正则表达式风格

python - 如何制作与现有固定方面子图宽度相等的附加子图?

python - 用 python 和 matplotlib 绘制图形问题

matlab - 是否可以用科学计数法标记等高线图?

R包 'biomod2'执行plot函数时找不到文件

python - 使用 python 字典保存程序统计信息的干净方法

python - 表格 python : Getting subprocess. CalledProcessError : Command '[' java', '-Dfile.encoding=UTF8',错误

r - 使用神经网络包保存神经网络图时遇到问题 - R

python - 总的Python处女,这段代码有什么问题? “Detect Indentation error.”

python - pyqt如何获取以前的无花果管理器