我有以下数据
1.105 0.919 0.842 0.715 0.704 0.752 0.827 1.049 0.584
0.998 0.931 0.816 0.787 0.803 0.856 0.782 0.872 0.710
1.268 1.189 1.036 0.984 0.847 0.948 1.083 0.864 0.792
Run Code Online (Sandbox Code Playgroud)
我用它来绘制imshow()
结果如下:

这是我的代码:
from numpy import*
import matplotlib.cm as cm
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
shape=(3,9)
velocity=zeros(shape)
fig = plt.figure(figsize=(16, 12), dpi=100)
ax1 = fig.add_subplot(111,aspect='equal')
# ax1.set_yticks([int(100*j) for j in range(0,4)])
ax1.set_yticks([int(j) for j in range(0,4)])
ax1.set_xticks([int(j) for j in range(-4,5)])
for label in …Run Code Online (Sandbox Code Playgroud) 使用标准 matshow 示例:
from matplotlib.pylab import *
dim = (12,12)
aa = zeros(dim)
for i in range(min(dim)):
aa[i,i] = i
matshow(aa)
show()
Run Code Online (Sandbox Code Playgroud)

(来源:matplotlib.org)
如何控制每一行的高度?
在我的例子中,行索引(即国家)可以用非线性间距(例如GDP)来表示来表示大小,我想通过改变缩放向量的行高来表示。(即,如果有 12 行,那么在均匀分布的情况下,每行的行高将为 [0.083, 0.083, ...., 0.083] 表示的 1/12,那么不均匀的行高可以由任何向量设置,其总和为1)