正如 imsc 在对我的问题的评论中指出的那样,答案在于他链接到的matplotlib 示例。这是我正在使用的代码,遵循链接的示例,专门解决了我的问题中的情况:
import matplotlib as mpl
ax_cb1 = fig.add_axes((0.85, 0.125, 0.03, 0.75))
BW_cdict = {
'red': ((0.0, 0.0, 0.0),
(1.0, 1.0, 1.0)),
'green': ((0.0, 0.0, 0.0),
(1.0, 1.0, 1.0)),
'blue': ((0.0, 0.0, 0.0),
(1.0, 1.0, 1.0))
}
black_white = mpl.colors.LinearSegmentedColormap('BlackWhite', BW_cdict)
norm = mpl.colors.Normalize(vmin=z_min, vmax=z_max)
cb1 = mpl.colorbar.ColorbarBase(
ax_cb1, cmap=black_white, norm=norm, orientation='vertical'
)
ax_cb2 = fig.add_axes((0.125, 0.95, 0.75, 0.03))
BR_cdict = {
'red': ((0.0, 0.0, 0.0),
(1.0, 1.0, 1.0)),
'green': ((0.0, 0.0, 0.0),
(1.0, 0.0, 0.0)),
'blue': ((0.0, 1.0, 1.0),
(1.0, 0.0, 0.0))
}
blue_red = mpl.colors.LinearSegmentedColormap('BlueRed', BR_cdict)
norm = mpl.colors.Normalize(vmin=w_min, vmax=w_max)
cb2 = mpl.colorbar.ColorbarBase(
ax_cb2, cmap=blue_red, norm=norm, orientation='horizontal'
)