首页 > 解决方案 > 如何为一些矩阵着色

问题描述

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt

images = []

c=0
a=0
b=0
while a < 31:
    mat0 = np.zeros((100, 100))
    i=0
    while i < 3:
        k = 0
        while k < 3:
            mat0[a+i, a+k+c] = 1+b
            k += 1
        i+=1
    images.append(mat0)
    a+=1
    c+=1
    b+=1

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

ax.matshow(images[2], cmap=plt.cm.Blues)

我想为每个矩阵使用不同的蓝色阴影为矩阵的每个非零输入着色。例如,images[0] 包含一个块 1,我想用浅蓝色着色,images[1] 包含一个块“2”,我想用深蓝色着色,依此类推。我怎样才能做到这一点?谢谢!

标签: pythonmatplotlib

解决方案


vmin通过相应地设置和vmaxkwargs尝试以下操作:

fig, ax = plt.subplots()
for image in images:
    ax.cla()
    ax.imshow(image, cmap=plt.cm.Blues, vmin=1, vmax=31)
    plt.pause(0.1)

这使:

imshow_shades_blue


推荐阅读