以下代码生成一个正确着色的矩阵-但仅当使用np.random.randomint初始化数组时。当尝试使用np.ones将所有元素初始化为单色(假设蓝色= 1)时,所有元素都被涂成黑色,即在这种情况下颜色图中的第一个条目。
import matplotlib.pyplot as plt
from matplotlib import colors
import numpy as np
def plot_matrix(rm, cmap, title='Should be blue') :
plt.imshow(rm, interpolation='nearest', cmap=cmap)
plt.title(title)
plt.tight_layout()
plt.show(block=False)
cmap = colors.ListedColormap(['k','b','y','g','r'])
rm = np.random.randint(0,5,(5,5))
rm2 = np.ones((5, 5))
plot_matrix(rm2, cmap=cmap)
绘制rm2应该给出蓝色项,但是我得到所有黑色。这是怎么回事?使用散点图时,我也遇到同样的问题。