python matplotlib自定义色标

可以用ListedColormapLinearSegmentedColormap制作色标,其中ListedColormap由给定的颜色列表产生色标时不会自动插值,LinearSegmentedColormap则会在给定的颜色之间插值。
这两个类都属于matplotlib.colors,使用前需要导入import matplotlib.colors as mcolors

实例

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors

xi = np.linspace(-5, 5, 500)
yi = np.linspace(-5, 5, 500)
X,Y=np.meshgrid(xi,yi)

Z=(X**2+X*Y-Y**2)

#自定义色标
colors=["magenta","blueviolet","royalblue","aqua","springgreen",
"greenyellow","yellow","orangered","red","white"]
clrmap=mcolors.LinearSegmentedColormap.from_list("mycmap",colors)

plt.pcolor(X,Y,Z,cmap=clrmap)
plt.colorbar()
#Set equal scaling (i.e., make circles circular)
#by changing dimensions of the plot box.
plt.axis('scaled')
plt.show()

输出图片
在这里插入图片描述

参考文档

猜你喜欢

转载自blog.csdn.net/X_And_Y/article/details/107356718