wake-up-neo.com

Wie füge ich Titel zu Untergrundstücken in Matplotlib hinzu?

Ich habe eine Figur, die viele Nebenhandlungen enthält.

fig = plt.figure(num=None, figsize=(26, 12), dpi=80, facecolor='w', edgecolor='k')
fig.canvas.set_window_title('Window Title')

# Returns the Axes instance
ax = fig.add_subplot(311) 
ax2 = fig.add_subplot(312) 
ax3 = fig.add_subplot(313) 

Wie füge ich den Unterplots Titel hinzu?

fig.suptitle fügt allen Grafiken einen Titel hinzu, und obwohl ax.set_title() vorhanden ist, fügt dieser meinen Unterplots keinen Titel hinzu.

Danke für deine Hilfe.

Edit: Tippfehler über set_title() korrigiert. Danke Rutger Kassies

158
shailenTJ

ax.title.set_text('My Plot Title') scheint auch zu funktionieren.

fig = plt.figure()
ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(222)
ax3 = fig.add_subplot(223)
ax4 = fig.add_subplot(224)
ax1.title.set_text('First Plot')
ax2.title.set_text('Second Plot')
ax3.title.set_text('Third Plot')
ax4.title.set_text('Fourth Plot')
plt.show()

matplotlib add titles on subplots

96
Jarad

ax.set_title() sollte die Titel für separate Unterzeichnungen festlegen:

import matplotlib.pyplot as plt

if __== "__main__":
    data = [1, 2, 3, 4, 5]

    fig = plt.figure()
    fig.suptitle("Title for whole figure", fontsize=16)
    ax = plt.subplot("211")
    ax.set_title("Title for first plot")
    ax.plot(data)

    ax = plt.subplot("212")
    ax.set_title("Title for second plot")
    ax.plot(data)

    plt.show()

Können Sie überprüfen, ob dieser Code für Sie funktioniert? Vielleicht überschreibt sie etwas später?

201
masteusz

Eine kurze Antwort unter der Annahme von import matplotlib.pyplot as plt:

plt.gca().set_title('title')

wie in:

plt.subplot(221)
plt.gca().set_title('title')
plt.subplot(222)
etc...

Dann sind keine überflüssigen Variablen erforderlich.

26
JMDE

Wenn du es kürzer machen willst, könntest du schreiben:

import matplolib.pyplot as plt
for i in range(4):
    plt.subplot(2,2,i+1).set_title('Subplot n°{}' .format(i+1))
plt.show()

Es macht es vielleicht weniger klar, aber Sie brauchen keine weiteren Zeilen oder Variablen

4
SAGET Shinji