web-dev-qa-db-ja.com

Seabornで2つのグラフをオーバーレイするにはどうすればよいですか?

Seabornで2つのグラフをオーバーレイするにはどうすればよいですか?データに2つの列があり、同じグラフに表示したいと思います。どうすれば両方のグラフのラベル付けを維持できますか。

23

1つのAxesで動作するseaborn関数は、引数として1つを取ることができます。

たとえば、 seaborn.kdeplot 含める:

ax : matplotlib axis, optional
    Axis to plot on, otherwise uses current axis

だからあなたがした場合:

df = function_to_load_my_data()
fig, ax = plt.subplots()

その後、次のことができます。

seaborn.kdeplot(df['col1'], ax=ax)
seaborn.kdeplot(df['col2'], ax=ax)
35
Paul H

1つの解決策は、二次軸を導入することです。

    fig, ax = plt.subplots()
    sb.regplot(x='round', y='money', data=firm, ax=ax)
    ax2 = ax.twinx()
    sb.regplot(x='round', y='dead', data=firm, ax=ax2, color='r')
    sb.plt.show()

enter image description here

17

データはプライベートコラージュデータとパブリックコラージュデータに関するものですが、すべてのグローバルパラメーターをseabornオブジェクトにロードし、後でチャートを同じペインにマップすることがわかるように機能します。

import seaborn as sns

import matplotlib.pyplot as plt

import pandas as pd


df = pd.read_csv('College_Data',index_col=0)

g = sns.FacetGrid(df,hue='Private',palette='coolwarm',size=6,aspect=2)

g.map(plt.hist,'Outstate',bins=20,alpha=0.7)

チャートを参照

1
Omar Villa