我一直在与seaborn.catplot
合作,以制作条形图(下面是数据样本),将counts
列的reasons
列中的值加起来,用一组公司:
sns.catplot(x='Bill_Name', y='counts', hue='Reason',
data=data, kind='bar', height=6, aspect=13/6,
legend=True, palette='hls')
现在,每个值都有一个列year
。因此,我正在考虑使用seaborn.FacetGrid
,以使上述内容排成一行。
因此,如果我了解它的正确工作方式,那么必须将sns.FacetGrid
的数据和year
列作为这种情况下的row
参数,然后使用{{1} },并带有sns.map
及其相应的参数,但是此操作无法正常工作:
sns.catplot
我在做什么错了?
以下是数据示例:
g = sns.FacetGrid(data, row="year", height=4, aspect=.5)
g = g.map(sns.catplot, x='Bill_Name', y='counts', hue='Reason',
data=data, kind='bar', height=6, aspect=13/6,
legend=True, palette='hls')
答案 0 :(得分:4)
如果将facetgrid
参数添加到默认row='year'
,则可以完全避免使用catplot
:
sns.catplot(x='Bill_Name', y='counts', hue='Reason',row='year', data=data, kind='bar', height=6, aspect=13/6, legend=True, palette='hls')