首先参考了官方文档,https://matplotlib.org/tutorials/colors/colormap-manipulation.html
这篇文章是用的读取了一个色标后,将其分为256等份,定义了前25段的颜色为粉色,受其启发,加上之前看的别的方法(本人没试成功过)里提到的自定义颜色字典,于是加上了如下代码
- white = np.array([1, 1, 1, 1])
- yellow = np.array([1, 1, 0, 1])
- green = np.array([0, 1, 0, 1])
- red = np.array([1, 0, 0, 1])
- newcolors[:1, :] = white
- newcolors[1:30, :] = green
- newcolors[30:90, :] = yellow
- newcolors[90:, :] = red
即分别定义了各区段的颜色
PS:各颜色的部分代码参考的这个文章https://blog.csdn.net/qq_20823641/article/details/51711618
然后把色标引用即可
但是目前还存在一个问题,无法使用cm.register_cmap()进行色标的注册,理论上查官方文档直接使用可以,但是配合plt.get_cmap这个读取色标无法使用,有解决这个问题的可以留言讨论。