1

Seaborn のPairGridの機能がとても気に入っています。ただし、満足のいくようにサブプロットを再形成することはできませんでした。たとえば、次のコードは、1 つの x 変数と 2 つの y 変数を反映して、1 列と 2 行の Figure を返します。

import seaborn as sns
tips = sns.load_dataset('tips')
g = sns.PairGrid(tips,y_vars=['tip','total_bill'],x_vars=['size'], hue='sex')
g.map(sns.regplot,x_jitter=.125)

ここに画像の説明を入力

ただし、この図の向きを変更して、2 列 1 行になるようにすることをお勧めします。これらのサブプロットは 内にあるように見えますが、関数g.axesの型に戻すにはどうすればよいですか?plt.subplots(1,2)

4

1 に答える 1

5

PairGrid両方のプロットの x 軸が同じであるため、この配置が選択されます。したがって、横向きのプロットを取得する最も簡単な方法は、x と y を交換することです。

import seaborn as sns
tips = sns.load_dataset('tips')
g = sns.PairGrid(tips,x_vars=['tip','total_bill'],y_vars=['size'], hue='sex')
g.map(sns.regplot,y_jitter=.125)

(同じ結果を得るには、 にも変更x_jitterする必要があることに注意してください。)y_jitter

それをしたくない場合PairGridは、適切なツールではないと思います。2 つのサブプロットを使用して、以下を使用してプロットを作成することもできますsns.regplot

import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset('tips')
male = tips[tips.sex=='Male']
female = tips[tips.sex=='Female']

with sns.color_palette(n_colors=2):
    fig, axs = plt.subplots(1,2)
    sns.regplot(x='size', y='tip', data=male, x_jitter=.125, ax=axs[0])
    sns.regplot(x='size', y='tip', data=female, x_jitter=.125, ax=axs[0])
    sns.regplot(x='size', y='total_bill', data=male, x_jitter=.125, ax=axs[1])
    sns.regplot(x='size', y='total_bill', data=female, x_jitter=.125, ax=axs[1])
于 2014-12-17T08:34:19.467 に答える