Seaborn Facet的线描网格

时间:2019-10-07 09:54:41

标签: pandas seaborn

我一直在与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')

enter image description here

现在,每个值都有一个列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')

1 个答案:

答案 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')