web-dev-qa-db-ja.com

伝説を海の散布図の外に移動するには?

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
sns.set(style="darkgrid")

g = sns.scatterplot(x="Area", y="Rent/Sqft", hue="region", style="availability", data=df)

これを実行すると、以下のプロットが得られます。

enter image description here

凡例をプロットの外に移動したい。私はググって次を試しました

g.legend(loc='right', bbox_to_anchor=(1.25, 0.5), ncol=1)
plt.show()

しかし、何も出力されません。さらに、オブジェクトpltがsnsオブジェクトにどのように接続されているのか理解できません

私はJupyter Notebook、Python 3.6およびSeaborn 0.9.0を使用しています。

5
Vinay

以下をお試しください:

g.legend(loc='center left', bbox_to_anchor=(1.25, 0.5), ncol=1)

必要に応じて、最初の数値を負に変更して、凡例を左側に配置できます。

Jupyter IDEを使用している場合は、コードの両方の行を同じセルに配置し、それらを一緒に実行して出力を取得する必要があります。また、snsオブジェクトなどはありません。 seaborn のほとんどの関数は、matplotlib Axesオブジェクトを返します。ここでは、Axesオブジェクトに関連付けられているすべてのメソッドを使用できます(例:.legend())ここで使用しています。

7
steven