我正在尝试改进我在Python上的可视化。假设我有以下数据:
data = {'animal':['cat', 'tiger', 'leopard', 'dog'], 'family':['mustelids ','felidae','felidae', 'canidae'], 'family_pct':[6.06,33.33,9.09,12.12]}
df = pd.DataFrame(data) 我想创建一个条形图,如下所示:
fig, ax = plt.subplots()
sns.barplot(x = 'family', y = 'family_pct', hue='animal', data = df)然而,我希望每个“家庭”被单独绘制(一幅画的是十字花科,一幅画的是猫科,还有一幅画的是犬科),而不是在同一幅图上。实际上,我希望在family列的每个值上循环该图。然而,我不确定该怎么做。
谢谢!
发布于 2019-09-26 23:38:37
使用catplot()组合barplot()和FacetGrid。这允许在其他分类变量中进行分组。使用catplot()比直接使用FacetGrid更安全,因为它确保了不同方面的变量顺序的同步:
sns.catplot(x = 'family', y = 'family_pct', hue='animal', col='family', data = df, kind='bar', height=4, aspect=.7)请参阅更多详细信息here。
https://stackoverflow.com/questions/58120189
复制相似问题