Цветные полосы создаются внутри осей.Чтобы иметь полный контроль над тем, где находится цветовая панель, вы можете создать оси в соответствующей позиции и использовать аргумент cax
цветовой панели, чтобы указать, какие оси использовать для отображения цветовой полосы.
Чтобы создать полезные оси, GridSpec
можетбыть полезным, когда основной график охватывает несколько ячеек сетки, а отношения высот ячеек довольно асимметричны.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec
x,y1,y2,y3 = np.random.rand(4,15)
gs = GridSpec(2,3, height_ratios=[15,1])
fig = plt.figure()
# Axes for plot
ax = fig.add_subplot(gs[0,:])
# three colorbar axes
cax1 = fig.add_subplot(gs[1,0])
cax2 = fig.add_subplot(gs[1,1])
cax3 = fig.add_subplot(gs[1,2])
# plot
sc1 = ax.scatter(x, y1, c=y1, cmap="viridis")
sc2 = ax.scatter(x, y2, c=y2, cmap="RdYlGn")
sc3 = ax.scatter(x, y3, c=y3, cmap="copper")
# colorbars
fig.colorbar(sc1, cax=cax1, orientation="horizontal")
fig.colorbar(sc2, cax=cax2, orientation="horizontal")
fig.colorbar(sc3, cax=cax3, orientation="horizontal")
plt.show()
