可以用ListedColormap
和LinearSegmentedColormap
制作色标,其中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()
输出图片
参考文档
- https://matplotlib.org/tutorials/colors/colormap-manipulation.html
- https://matplotlib.org/gallery/color/custom_cmap.html#sphx-glr-gallery-color-custom-cmap-py
本文地址:https://blog.csdn.net/X_And_Y/article/details/107356718
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论