[英]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()
但是,这并没有给我单独的标题,我想为情节添加更多功能。
迭代您的 df,为每个唯一值选择切片,为每个切片制作一个分布图。
for pair in df.pair.unique():
sns.distplot(df.loc[df.pair == pair,'rate'])
plt.title(pair)
FacetGrid
,并且不推荐使用seaborn.distplot
。sns.displot
,这是一个图形级别的图。python 3.10
、 pandas 1.4.2
、 matplotlib 3.5.1
、 seaborn 0.11.2
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.