将整数映射为颜色;为什么初始化不起作用?

时间:2018-08-06 19:25:23

标签: python-3.x

以下代码生成一个正确着色的矩阵-但仅当使用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应该给出蓝色项,但是我得到所有黑色。这是怎么回事?使用散点图时,我也遇到同样的问题。

0 个答案:

没有答案