Python 如何使用特定颜色为矩阵着色?
这里是我的最小工作示例Python 如何使用特定颜色为矩阵着色?,python,matplotlib,Python,Matplotlib,这里是我的最小工作示例 arr0 = [] arr1 = [] fig, ax = plt.subplots() provamatrix = np.full((750, 750), -1) arr0 = [random.randint(1,750) for _ in range(100000)] np.random.shuffle(arr0) arr1 = [random.randint(1,750) for _ in range(100000)] np.random.shuffle(arr
arr0 = []
arr1 = []
fig, ax = plt.subplots()
provamatrix = np.full((750, 750), -1)
arr0 = [random.randint(1,750) for _ in range(100000)]
np.random.shuffle(arr0)
arr1 = [random.randint(1,750) for _ in range(100000)]
np.random.shuffle(arr1)
coordsprova = list(zip(arr0, arr1))
m = 0
for c in coordsprova:
provamatrix[c] = m
m += 1
plt.imshow(provamatrix, cmap=plt.cm.Blues)
如何将-1值的像素着色为黑色?您可以为颜色贴图设置颜色。范围从vmin到vmax。当vmin到vmax没有显式设置(并且使用no)时,它们是从数据中计算出来的
将vmin设置为零,使所有负值处于“低于”。(对于高于vmax的值,也有类似的“过”色概念。)
A可以通过plt.colorbar(extend='min')
在三角形箭头中显示底色。其他值为“max”、“both”和“none”。相关选项可以将底色显示为矩形(extendrect=True
),并设置用于扩展的颜色条分数(默认值为5%:extendfrac=0.05
)
下面是一些示例代码来说明它是如何工作的。用红色代替黑色来更清楚地说明正在发生的事情。(该代码还尝试将给定代码编写得更具python风格。)
从matplotlib导入pyplot作为plt
将numpy作为np导入
provamatrix=np.full((750750),-1)
coordsprova=np.random.randint(0750,(30000,2))
对于枚举(coordsprova)中的m,(i,j):
provamatrix[i,j]=m
cmap=plt.cm.get_cmap('Blues'))
cmap.set_位于('red')下
plt.imshow(provamatrix,cmap=cmap,vmin=0)
plt.colorbar(extend='min',extendrect=True)
plt.show()