So fügen Sie dem Seaborn Boxplot einen Titel hinzu


105

Scheint ziemlich googleable, konnte aber online nichts finden, was funktioniert.

Ich habe beides versucht sns.boxplot('Day', 'Count', data= gg).title('lalala')und sns.boxplot('Day', 'Count', data= gg).suptitle('lalala'). Keiner hat funktioniert. Ich denke, das könnte daran liegen, dass ich auch mit matplotlib arbeite.

Antworten:


186

Das Seaborn-Box-Diagramm gibt eine Matplotlib-Achseninstanz zurück. Im Gegensatz zu Pyplot selbst, das eine Methode hat plt.title(), ist das entsprechende Argument für eine Achse ax.set_title(). Deshalb müssen Sie anrufen

sns.boxplot('Day', 'Count', data= gg).set_title('lalala')

Ein vollständiges Beispiel wäre:

import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset("tips")
sns.boxplot(x=tips["total_bill"]).set_title("LaLaLa")

plt.show()

Natürlich können Sie auch die Instanz der zurückgegebenen Achsen verwenden, um sie besser lesbar zu machen:

ax = sns.boxplot('Day', 'Count', data= gg)
ax.set_title('lalala')
ax.set_ylabel('lololo')

4
Es ist eine Schande set_title()und ähnliche Funktionen nicht return self, das wäre ordentlich.
Laurens Koppenol

@LaurensKoppenol Matplotlibs Credo besteht darin, das Objekt zurückzugeben, das die Methode erstellt oder bearbeitet. Dies ist eine Frage der Flexibilität; und matplotlib möchte den Benutzern ausdrücklich diese Flexibilität geben. Weitere APIs auf höherer Ebene, die auf matplotlib sitzen, lassen häufig eine Verkettung zu. In diesen Fällen haben Sie jedoch Probleme, die zugrunde liegenden Objekte zu manipulieren, wenn Sie ein nicht standardmäßiges Verhalten wünschen.
ImportanceOfBeingErnest

Bei der Kombination der verschiedenen Schnittstellen Matplotlib habe ich definitiv zugestimmt
Laurens Koppenol

29

Versuchen Sie, dies am Ende Ihres Codes hinzuzufügen:

import matplotlib.pyplot as plt

plt.title('add title here')

10

Die Funktion sns.boxplot () gibt das Axes-Objekt (matplotlib.axes.Axes) zurück. Bitte beziehen Sie sich auf die Dokumentation, in der Sie den Titel mit der 'Set'-Methode wie folgt hinzufügen können:

sns.boxplot('Day', 'Count', data=gg).set(title='lalala')

Sie können der Set-Methode auch andere Parameter wie xlabel, ylabel hinzufügen.

sns.boxplot('Day', 'Count', data=gg).set(title='lalala', xlabel='its x_label', ylabel='its y_label')

Es gibt einige andere Methoden, wie in der Dokumentation zu matplotlib.axes.Axes erwähnt , um Kacheln, Legenden und Beschriftungen hinzuzufügen.


6

Für ein einzelnes Boxplot:

import seaborn as sb
sb.boxplot(data=Array).set_title('Title')

Für mehr Boxplot im selben Plot:

import seaborn as sb
sb.boxplot(data=ArrayofArray).set_title('Title')

z.B

import seaborn as sb
myarray=[78.195229, 59.104538, 19.884109, 25.941648, 72.234825, 82.313911]
sb.boxplot(data=myarray).set_title('myTitle')

4

.set_title ('') kann verwendet werden, um Seaborn Plot einen Titel hinzuzufügen

import seaborn as sb
sb.boxplot().set_title('Title')
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.