Mit dem folgenden Code wird eine Beschriftung über der Farbleiste platziert, aber auch die y-Beschriftung wird oben platziert. Idealerweise möchte ich ein Etikett oben auf der Farbleiste und eines rechts (wie hier mit ' Anzahl der Kontakte' gezeigt) .
import matplotlib.pyplot as plt
import numpy as np
number = 100
number_ticks = 9
x_input = np.array([np.linspace(-1.,3.,100),]*number)
y_input = np.array([np.arange(0.,100.,1.),]*number).transpose()
output = np.array([np.linspace(0.,1.0,100),]*number)
bounds=np.linspace(0.0,1.0,number_ticks)
cntr1 = plt.contourf(x_input, y_input, output, vmin = 0.0, vmax = 1.0, levels = bounds)
cbar1 = plt.colorbar()
cbar1.set_label(r"$\bf{title}$", labelpad=-40, y=1.03, rotation=270)
cbar1.ax.set_ylabel(r"$\bf{y_label}$", labelpad=-40, y=1.03, rotation=0)
plt.show()
Die gewünschte Ausgabe ist sowohl eine Beschriftung über der Farbleiste als auch rechts davon. Der obige Code platziert nur beide Beschriftungen an derselben Position (dh oben). Das y-Label wird nicht wie gewünscht an der Seite der Farbleiste angezeigt (wie in dem Link, den ich geteilt habe).
Sie könnten die Axes.set_title
Methode verwenden:
import matplotlib.pyplot as plt
import numpy as np
number = 100
number_ticks = 9
x_input = np.array([np.linspace(-1.,3.,100),]*number)
y_input = np.array([np.arange(0.,100.,1.),]*number).transpose()
output = np.array([np.linspace(0.,1.0,100),]*number)
bounds=np.linspace(0.0,1.0,number_ticks)
cntr1 = plt.contourf(x_input, y_input, output, vmin = 0.0, vmax = 1.0, levels = bounds)
cbar1 = plt.colorbar()
cbar1.ax.set_title(r"$\bf{title}$")
cbar1.ax.set_ylabel(r"$\bf{y_label}$", labelpad=20, rotation=270)
plt.show()
Ich denke ColorbarBase.set_label
ist gleichbedeutend mit cbar1.ax.set_ylabel
. Und Axes.set_label
soll einen Legendeneintrag angeben.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen