我正在尝试使用matplotlib在 Python 中创建一个带有自定义注释的颜色渐变矩形。下面是根据值分配颜色的函数。我正在尝试创建一个标签以供参考(一个带有颜色分数的矩形)。我正在寻找这样的东西:https : //stackoverflow.com/a/25679063/7733184用于我的颜色,但也有根据我的功能指示的范围。
def returncolor(value,colors):
if value < 0.55:
return '#B03A2E' #darkest red
if value < 0.60:
return '#EC7063' # light red
if value < 0.65:
return '#FCF3CF' # lighest yellow
if value < 0.70:
return '#F1C40F' # yellow
if value < 0.75:
return '#F39C12' # Orange
if value < 0.80:
return '#82E0AA'#light green
if value < 0.85:
return '#28B463'#dark green
if value < 0.90:
return '#7FB3D5'#light blue
if value < 0.95:
return '#2980B9'#dark blue
if value < 1:
return '#5B2C6F'#dark blue
我正在尝试做的模型如下:
根据此问题的答案,您可以使用ListedColormap
对象定义自定义颜色图。
colors = ['#B03A2E','#EC7063','#FCF3CF','#F1C40F','#F39C12','#82E0AA','#28B463','#7FB3D5','#2980B9','#5B2C6F']
bounds = [0.5,0.55,0.60,0.65,0.70,0.75,0.80,0.85,0.90,0.95,1]
cmap = matplotlib.colors.ListedColormap(colors)
norm = matplotlib.colors.BoundaryNorm(bounds, cmap.N)
zvals = np.random.rand(100, 100) * 10
# tell imshow about color map so that only set colors are used
img = plt.imshow(zvals, cmap=cmap, norm=norm)
# make a color bar
plt.colorbar(img, cmap=cmap, norm=norm, boundaries=bounds, ticks=bounds)
plt.show()
另请参阅matplotlib 文档中的示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句