ich benutze pyplot
. Ich habe 4 Nebenhandlungen. Wie setzt man einen einzigen Haupttitel über alle Nebenhandlungen? title()
setzt es über die letzte Nebenhandlung.
So setzen Sie einen einzigen Haupttitel über alle Nebenhandlungen
Jakub M.
unutbu
Verwenden pyplot.suptitle
oder Figure.suptitle
:
import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure()
data=np.arange(900).reshape((30,30))
for i in range(1,5):
ax=fig.add_subplot(2,2,i)
ax.imshow(data)
fig.suptitle('Main title') # or plt.suptitle('Main title')
plt.show()
-
Arbeitet mit
suptitle
. Trotzdem habe ich deinen „schamlosen Trick“ gesehen! 🙂 🙂– Jakub M.
15. August 2011 um 15:08
-
Beachten Sie, dass es so ist
plt.suptitle()
und nichtplt.subtitle()
. Ich habe das am Anfang nicht bemerkt und einen bösen Fehler gemacht! 😀– Datenmann
10. Mai 2016 um 15:40 Uhr
Alexander McFarlane
Ein paar Punkte finde ich nützlich, wenn ich dies auf meine eigenen Plots anwende:
- Ich bevorzuge die Konsistenz der Anwendung
fig.suptitle(title)
stattplt.suptitle(title)
- Beim Benutzen
fig.tight_layout()
Der Titel muss mit verschoben werdenfig.subplots_adjust(top=0.88)
- Siehe Antwort unten zu Schriftgrößen
Beispielcode entnommen aus Nebenhandlungen Demo in Matplotlib-Dokumenten und mit einem Mastertitel angepasst.
import matplotlib.pyplot as plt
import numpy as np
# Simple data to display in various forms
x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x ** 2)
fig, axarr = plt.subplots(2, 2)
fig.suptitle("This Main Title is Nicely Formatted", fontsize=16)
axarr[0, 0].plot(x, y)
axarr[0, 0].set_title('Axis [0,0] Subtitle')
axarr[0, 1].scatter(x, y)
axarr[0, 1].set_title('Axis [0,1] Subtitle')
axarr[1, 0].plot(x, y ** 2)
axarr[1, 0].set_title('Axis [1,0] Subtitle')
axarr[1, 1].scatter(x, y ** 2)
axarr[1, 1].set_title('Axis [1,1] Subtitle')
# # Fine-tune figure; hide x ticks for top plots and y ticks for right plots
plt.setp([a.get_xticklabels() for a in axarr[0, :]], visible=False)
plt.setp([a.get_yticklabels() for a in axarr[:, 1]], visible=False)
# Tight layout often produces nice results
# but requires the title to be spaced accordingly
fig.tight_layout()
fig.subplots_adjust(top=0.88)
plt.show()
-
Einfach hinzufügen
figure.suptitle()
reicht nicht aus, da sich die Titel der Nebenhandlungen mit Übertiteln vermischen,fig.subplots_adjust(top=0.88)
ist gut.– Ich gehe meinen Weg
22. März 2019 um 2:28
Wenn Ihre Nebenhandlungen auch Titel haben, müssen Sie möglicherweise die Größe des Haupttitels anpassen:
plt.suptitle("Main Title", size=16)
-
In Python 2.7 ist es so Schriftgröße anstatt Größe.
plt.suptitle("Main Title", fontsize=16)
– Temak
11. Februar 2016 um 17:59