簡體   English   中英

Seaborn 直方圖/分布子圖

[英]Seaborn histogram/displot subplots

我有一個數據框 df,它在一段時間內對多種“N”貨幣有不同的匯率。

date         pair       rate
2019-05-01   AUD/USD   -0.004
2019-05-01   GBP/USD    0.05
2019-05-01   USD/NOK    0.0002      
...
2020-01-01   AUD/USD   -0.025
2020-01-01   GBP/USD    0.021315
2020-01-01   USD/NOK    0.0045

我想做一個循環來使用 Seaborn sns 繪制 N 個直方圖(每對一個); 添加一個標題名稱,說明每個圖上的配對名稱。

我可以使用簡單的 groupby 來實現繪圖:

df.groupby('pair').hist(bins=20, normed=True)
plt.show()

但是,這並沒有給我單獨的標題,我想為情節添加更多功能。

您可以將seaborn.FaceGrid用於這些類型的繪圖。

g = sns.FacetGrid(data=df, row='pair')
g.map(sns.distplot, 'rate')

在此處輸入圖像描述

迭代您的 df,為每個唯一值選擇切片,為每個切片制作一個分布圖。

for pair in df.pair.unique():
    sns.distplot(df.loc[df.pair == pair,'rate'])
    plt.title(pair)

import pandas as pd
import seaborn as sns

# sample data
data = {'date': ['2019-05-01', '2019-05-01', '2019-05-01', '2020-01-01', '2020-01-01', '2020-01-01'],
        'pair': ['AUD/USD', 'GBP/USD', 'USD/NOK', 'AUD/USD', 'GBP/USD', 'USD/NOK'],
        'rate': [-0.004, 0.05, 0.0002, -0.025, 0.021315, 0.0045]}
df = pd.DataFrame(data)

# plot
g = sns.displot(data=df, x='rate', col='pair', common_bins=True)

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM