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'
)