我想创建以下颜色映射。
mycolorbar1 = [dark-violet light-green dark-red dark-blue]
mycolorbar2 = [dark-brown dark-red]
然后我可以在我的代码的以下部分使用它们。
plt.tricontourf(triang1, Z1,v1,cmap=mycolorbar1, norm=plt.Normalize(vmin=v1mi,vmax=v1ma))
plt.tricontourf(triang2, Z2,v2,cmap=mycolorbar2, norm=plt.Normalize(vmin=v2mi,vmax=v2ma))
非常感谢您的帮助和帮助。
答案 0 :(得分:2)
虽然帖子我的评论链接到您的问题的答案,但它可能过于复杂。 Joe Kington在this post中使用LinearSegmentedColormap.from_list()
来实现自定义色彩映射,这是一种更为直接的方法。
from matplotlib.colors import LinearSegmentedColormap
color_dict1 = {'dark_violet': '#880088',
'light_green': '#00CC00',
'dark_red': '#AA0000',
'dark_blue': '#0000AA'}
color_dict2 = {'dark_brown': '#d95f0e',
'dark_red': '#e34a33'}
mycolorbar1 = LinearSegmentedColormap.from_list('mycolorbar1', [
color_dict1['dark_violet'],
color_dict1['light_green'],
color_dict1['dark_red'],
color_dict1['dark_blue']])
mycolorbar2 = LinearSegmentedColormap.from_list('mycolorbar2', [
color_dict2['dark_brown'],
color_dict2['dark_red']])
这样你就可以获得像
这样的情节