展现独特的色彩,展现独特的价值

Bor*_*rys 2 matplotlib matplotlib-basemap

我有一个通过读取图像获得的二维 numpy 数组。数组的唯一值是 0、1 和 2。我想绘制图像,分别显示值 0、1 和 2 的唯一颜色红色、绿色和蓝色。

plt.imshow(data, cmap=colors.ListedColormap(['red'])
Run Code Online (Sandbox Code Playgroud)

你会怎么做?

Kir*_*n J 6

from matplotlib.colors import from_levels_and_colors
cmap, norm = from_levels_and_colors([0,1,2,3],['red','green','blue'])
plt.imshow(data, cmap=cmap, norm=norm)
Run Code Online (Sandbox Code Playgroud)

  • n种颜色需要n+1个值,例如0到1将被分配红色,2到3将被分配蓝色,它们是边界间隔 (2认同)