颜色栏需要在数字和颜色之间使用一些映射。但是,如果您不想在您的图形中显示这一点,您可以用最一般的方式创建这个映射,即使用
ScalarMappable
实例。
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np
np.random.seed([3, 1415])
a = np.random.rand(3, 3)
f, axes = plt.subplots(3, 3)
jet = cm.jet
for i in range(3):
for j in range(3):
axes[i, j].set_facecolor(jet(a[i, j]))
m = cm.ScalarMappable(cmap=jet)
m.set_array([])
plt.colorbar(m, ax=axes)
plt.show()
如果游戏中存在标准化,例如
norm = plt.Normalize(-1,2)
你可以用它来获得正确的颜色
jet(norm(a[i, j]))
并将映射表创建为
cm.ScalarMappable(cmap=jet, norm=norm)
.