So setzen Sie einen einzigen Haupttitel über alle Nebenhandlungen

Lesezeit: 2 Minuten

Benutzeravatar von Jakub M
Jakub M.

ich benutze pyplot. Ich habe 4 Nebenhandlungen. Wie setzt man einen einzigen Haupttitel über alle Nebenhandlungen? title() setzt es über die letzte Nebenhandlung.

unutbus Benutzeravatar
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()

Geben Sie hier eine Bildbeschreibung ein

  • 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 nicht plt.subtitle(). Ich habe das am Anfang nicht bemerkt und einen bösen Fehler gemacht! 😀

    – Datenmann

    10. Mai 2016 um 15:40 Uhr

Benutzeravatar von Alexander McFarlane
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) statt plt.suptitle(title)
  • Beim Benutzen fig.tight_layout() Der Titel muss mit verschoben werden fig.subplots_adjust(top=0.88)
  • Siehe Antwort unten zu Schriftgrößen

Beispielcode entnommen aus Nebenhandlungen Demo in Matplotlib-Dokumenten und mit einem Mastertitel angepasst.

Ein schönes 4x4-Grundstück

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


1450260cookie-checkSo setzen Sie einen einzigen Haupttitel über alle Nebenhandlungen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy