手动设置颜色条 Matplotlib 的颜色图
Manual set up colormap for color-bar Matplotlib
我想创建以下颜色图。
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))
非常感谢您的帮助和帮助。
虽然 post 我的评论链接可以回答您的问题,但它可能过于复杂。 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']])
这样你就可以得到像
这样的情节
我想创建以下颜色图。
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))
非常感谢您的帮助和帮助。
虽然 post 我的评论链接可以回答您的问题,但它可能过于复杂。 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']])
这样你就可以得到像
这样的情节