Seaborn Boxplotにタイトルを追加する方法


106

かなりGoogleに対応しているようですが、動作するオンラインのものが見つかりませんでした。

との両方sns.boxplot('Day', 'Count', data= gg).title('lalala')を試しましたsns.boxplot('Day', 'Count', data= gg).suptitle('lalala')。どれもうまくいきませんでした。私はmatplotlibも使用しているためと思われます。

回答:


186

Seabornボックスプロットは、matplotlib Axesインスタンスを返します。メソッドを持つpyplot自体とは異なりplt.title()、対応する軸の引数はax.set_title()です。したがって、呼び出す必要があります

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

完全な例は次のとおりです。

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

もちろん、返されたAxesインスタンスを使用して、読みやすくすることもできます。

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

4
その恥set_title()と同様の機能はありませんreturn self、それはきちんとしたでしょう。
Laurens Koppenol

@LaurensKoppenol Matplotlibの信条は、メソッドが作成または操作するオブジェクトを返すことです。これは柔軟性の問題です。そして、matplotlibは明示的にユーザーにこの柔軟性を提供したいと考えています。matplotlibの上位に位置するより高レベルのAPIは、多くの場合、連鎖を許可することを決定しますが、そのような場合、非標準の動作が必要なときに、基になるオブジェクトの操作に問題があります。
ImportanceOfBeingErnest

さまざまなインターフェイスを組み合わせるとき、matplotlibは間違いなく同意します
Laurens Koppenol


10

sns.boxplot()関数は、Axes(matplotlib.axes.Axes)オブジェクトを返します。 以下の「set」メソッドを使用してタイトルを追加できるドキュメントを参照してください。

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

xlabel、ylabelなどの他のパラメーターをsetメソッドに追加することもできます。

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

matplotlib.axes.Axesドキュメントで言及されているように、タイル、凡例、ラベルを追加する方法は他にもいくつかあります。


6

単一の箱ひげ図の場合:

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

同じプロットでより多くの箱ひげ図を作成するには:

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

例えば

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.