在 seaborn histplot 中有一些重叠条的指示

have some indication for overlapping bars in seaborn histplot

在用 seaborn 绘制的直方图中,当条形因使用 hue 而重叠时,颜色会发生变化,通常无法区分。这使得很难向人们解释这些情节。当有 10 类 个渐变绘制并且理解哪种颜色在哪个上时,这变得越来越困难。那么,我如何在绘图或图例中显示结果颜色是由于多个条的重叠。

# imports
from sklearn.datasets import load_iris
from matplotlib import pyplot as plt
%matplotlib inline
import seaborn as sns

# getting the data
iris = load_iris(as_frame=True)['frame']

# make the histogram
sns.set(rc={'figure.figsize':(20, 5)})
sns.histplot(data=iris, x='sepal length (cm)', hue='target')
plt.show()

在高亮区域重叠显示:

我想坚持使用直方图。

我该怎么做?

您可以使用 alpha=1 参数移除透明度:

sns.histplot(data=iris, x='sepal length (cm)', hue='target', alpha=1)

但是请注意,如果后面显示的系列柱形图在其顶部的系列柱形图更高时可能会变得不可见。

另一种方法是使用 displot:

每组一张图
sns.displot(data=iris, x='sepal length (cm)', row='target', alpha=1, kind='hist')

注意。我使用 iris = sns.load_dataset('iris') 加载数据集,图表中的不同名称。

iris = sns.load_dataset('iris')
sns.histplot(data=iris, x='sepal_length', hue='species', alpha=1)
sns.displot(data=iris, x='sepal_length', row='species', alpha=1, kind='hist')