我正在尝试从图像创建颜色贴图。使用连续范围可以很好地工作,但是我试图通过一个离散因子来减少颜色的数量。在
我试着用10种颜色通过下面的代码来做这个,但我得到的是红色?在
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
import numpy as np
cim = plt.imread("https://i.stack.imgur.com/4q2Ev.png")
cim = cim[cim.shape[0]//2, 8:740, :]
cmap = mcolors.ListedColormap(cim)
norm = mcolors.BoundaryNorm([0,1,2,3,4,5,6,7,8,9,10], cmap.N)
X = np.random.rand(10,10)
Y = np.random.rand(10,10)
plt.contourf(X, Y, levels=100, cmap=cmap, norm = norm)# alpha = 0.8)
plt.colorbar()
如果您只希望在颜色贴图中使用10种颜色,则可以仅使用这10种颜色创建它:
相关问题 更多 >
编程相关推荐