如何禁用Seaborn中的色相嵌套?

问题描述

在Seaborn的条形图中使用hue参数时,它将更改条形的颜色和位置。类似于以下示例:

没有色相的情节

import seaborn as sns
df = {'x': [1,2,3,4],'y': [5,6,7,8],'hue': ['a','b','a']}
sns.barplot(
    data = df,x = 'x',y = 'y',)

输出Seaborn barplot without hue

具有色相的图:

df = {'x': [1,hue = 'hue'
)

输出Seaborn barplot with hue

那么我该如何使用认的条形位置和hue的颜色来绘制图形?

解决方法

设置dodge=False可以为我修复。

import seaborn as sns

df = {'x': [1,2,3,4],'y': [5,6,7,8],'hue': ['a','b','a']}
sns.barplot(
    data = df,x = 'x',y = 'y',hue = 'hue',dodge=False 
)

来自docs

dodge(布尔型,可选)-使用色相嵌套时,是否包含元素 应该沿着分类轴移动。