web-dev-qa-db-ja.com

Python Seabornパッケージでフィギュアのサイズを変更する方法

Seabornを使用してプロットフィギュアのサイズを大きくすることができません。 sns.pairplotを使用して、データフレームの列を互いにプロットします。

    %matplotlib inline
    plt.rcParams['figure.figsize']=10,10
    columns=list(df.columns.values)
    g=sns.pairplot(df, kind='reg', x_vars=columns,y_vars = ['Column 1'])

プロットにはデータは問題なく表示されますが、図のサイズが小さすぎます。 plot.rCParams ['figure.figsize']が図の大きさを制御すると思ったが、効果が現れないようだ。私はオンライン掲示板からいくつかの異なる提案を試みましたが、何もうまくいかないようです。

20
Vikram Josyula

sns.pairplot「基礎となるPairGridインスタンスをさらに微調整するために返す」...たとえば、フィギュアのサイズを変更する場合:

g=sns.pairplot(df, kind='reg', x_vars=columns,y_vars = ['Column 1'])
g.fig.set_size_inches(15,15)
21

サイズを括弧に入れてみてください、これは私のためのトリックを行います:

plt.rcParams['figure.figsize']=(10,10)
20
S.Zuo

@ MartinAndersonによる有効な回答 に加えて、seaborn自体はグリッドのサブプロットの高さを設定するオプションを提供します。 aspectと組み合わせて、これはグリッド内のサブプロットの数に応じてFigureの全体的なサイズを決定します。

シーボーン<= 0.8.1:

g = sns.pairplot(..., size=10, aspect=0.6)

Seaborn> = 0.9.0の場合:

g = sns.pairplot(..., height=10, aspect=0.6)

これは、pairplotrelplotcatplotlmplot、および基礎となるPairGridまたはFacetGrid

軸に直接プロットする他のシーボーンプロットの場合、 matplotlibで描画された図形のサイズをどのように変更しますか? からのソリューションは正常に機能します。

高さまたは幅のみを変更する場合は、次のようにします。

g = sns.pairplot(df, kind='reg', x_vars=columns,y_vars = ['Column 1'])
g.fig.set_figheight(6)
g.fig.set_figwidth(10)
4
Jeevan

Sns.catplotに関するRahulの質問を参照( matplotlibとseabornでプロットサイズを変更できません

Jupyterノートブックで試す場合:

_plt.figure(figsize=(25,20))
sns.boxplot(x='CriticRating', y='AudienceRating', data=movies)
_

それは働いていますが、

_sns.boxplot(x='CriticRating', y='AudienceRating', data=movies)
plt.figure(figsize=(25,20))
_

動作していません(プロットは非常に小さいです)。 jupyterでプロットを表示するためには、plt.figure(figsize=(25,20))の前にsns.boxplot()行を追加し、もちろん_%matplotlib inline_を含めることが重要です。

0
Dejan Marić