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.

es ist zu kalt
quelle

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')
Wichtigkeit von BeErnest
quelle
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')
Stefano Potter
quelle
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.

Akhil Penta
quelle
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')
Shrm
quelle
4

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

import seaborn as sb
sb.boxplot().set_title('Title')
Kranthi Kumar Valaboju
quelle