cmap 自定义颜色卡

# 渐变色
cmap = LinearSegmentedColormap.from_list('white_to_red', ['#00FF00', '#0000FF', '#FFFF00', '#FF0000'])
# 间隔色块
cmap = mpl.colors.ListedColormap(['#00FF00', '#0000FF', '#FFFF00', '#FF0000'])

 

 

 代码

import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
import numpy as np
from matplotlib import colors

cmap = colors.LinearSegmentedColormap.from_list('white_to_red', ['white', 'red'])
# cmap = colors.LinearSegmentedColormap.from_list('white_to_red', ['#00FF00', '#0000FF', '#FFFF00', '#FF0000'])
# cmap = colors.ListedColormap(['#00FF00', '#0000FF', '#FFFF00', '#FF0000'])
# norm = mpl.colors.BoundaryNorm(np.linspace(2, 3, 5), ncolors=cmap.N, clip=True)

fig,ax = plt.subplots(1)

verts = np.random.rand(3, 2)
xmin, xmax = verts[:, 0].min(), verts[:, 0].max()
ymin, ymax = verts[:, 1].min(), verts[:, 1].max()
print(verts)
grad = np.atleast_2d(np.linspace(0, 1, 256)).T
img = ax.imshow(np.flip(grad), extent=[xmin, xmax, ymin, ymax],interpolation='nearest', aspect='auto', cmap=cmap)
polygon = Polygon(verts, closed=True, facecolor='none', edgecolor='none')
print(polygon)
ax.add_patch(polygon)
img.set_clip_path(polygon)
ax.autoscale_view()
plt.colorbar(img)
plt.show()

 

详细参考 https://zhuanlan.zhihu.com/p/536879741

posted on 2022-10-24 13:56  闹不机米  阅读(384)  评论(0编辑  收藏  举报

导航