FacePlot/CatPlot(seaborn)如何更改条形图位置?

2024-09-30 06:29:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我对秤上的铁条的位置有问题。我的理解是,一些色调量是0,所以这是摆脱了酒吧的位置。在图中,右上角的绘图显示了“人工”的绿色和棕色条,它们之间有一个间隙,可能是因为颜色为0。有没有一种方法可以将这些条放在一起,并与它们在y轴上的对应性保持一致

grid = sns.catplot(x='Type', y='count', 
               row='Age', col='Gender', 
               hue='Nationality',
               data=dfNorthumbria2, kind='bar', ci=None,legend=True) 
grid.set(ylim=(0,5), yticks=[0,1,2,3,4,5])
grid.set(xlabel="Type of Exploitation",ylabel="Total Referrals")

for ax in grid.axes.flatten():
ax.tick_params(labelbottom=True, rotation=90)
ax.tick_params(labelleft=True)
grid.fig.tight_layout() 
leg = grid._legend
leg.set_bbox_to_anchor([1.1,0.5])

enter image description here


Tags: true绘图typeparamsax色调人工grid
1条回答
网友
1楼 · 发布于 2024-09-30 06:29:16

您可以通过sns.catplothue_order参数传递给sns.barplot(),例如

grid = sns.catplot(..., hue_order=['British', 'Romanian', 'Vietnamese', 
                                   'Albanian', 'Pakistani', 'Slovak'])
<>这应该关闭绿色和棕色条之间的间隙,它们将集中在蜱痕上,因为它们现在在列表中间。但是,其他条组仍不会围绕其记号标记居中

这可能是该绘图功能工作方式不可避免的结果,它不是为这种稀疏数据设计的。因此,如果希望所有不同的条形图组都位于各自的记号处,则可能必须使用更灵活的matplotlib打印功能并手动创建颜色子集

相关问题 更多 >

    热门问题