如何使用 matplotlib.pyplot.imshow 更改特定位置的颜色?

How to change specific position's color with matplotlib.pyplot.imshow?

我有一个numpy数组,我用下面的代码画了一个简单的图

import numpy as np
from matplotlib import pyplot as plt
plt.show(image, cmap='gray')

我还有一个包含图像的几个位置的列表,我想在同一张图片上更改这些位置的颜色。 例如,我有另一个这样的列表:

pos = [(0,1),(3,6)...]

我想根据这个改变像素的颜色。对于其他像素,它们保持不变。 我该怎么做?

如果您不介意复制或修改图像,您可以访问数组中的像素值:

import numpy as np

image = np.eye(10)

pos = [(0,1),(3,6)]
values_to_set  = [125,255]
for p, val in zip(pos, values_to_set):
    image[p] = val