Matplotlib imshow()函数如何自适应宽度?

43

我有一张图片,每列像素都有一个测量值。我使用pyplot创建了一个图形,其中图片在顶部,下面是列测量值的绘图。我正在使用类似于以下代码:

import numpy as np
import matplotlib.pyplot as plt

A = np.random.rand(34*52).reshape(34,52)
means = np.average(A,axis=0)

plt.figure()

plt.subplot(2,1,1)
plt.imshow(A, interpolation='nearest' )

plt.subplot(2,1,2)
plt.plot(means)

plt.show()

如何将图像的宽度拉伸到与绘图相匹配。这样,在查看图中的测量值时,源像素将直接位于其上方的列中。


对于Matlab问题,最好使用http://stats.stackexchange.com/。 - Yekver
又一个我不知道的堆栈交换网站!我希望我的登录账户可以在所有这些网站上通用...这样可以迁移吗,还是应该重新发布? - ajwood
我不确定,但我认为你应该重新发布这个。 - Yekver
我在统计版面重新发布了这个帖子,但是很快就有人把它迁移到了这里!我投票删除并决定采用这个版本! - ajwood
2
可能是重复的问题,链接为https://dev59.com/J2kv5IYBdhLWcg3wghIh。 - bmu
1个回答

87

事实证明,只需在imshow调用中加入aspect='auto'即可。

plt.imshow(A, interpolation='nearest', aspect='auto')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接