Python:绘制带有彩色类别的直方图

时间:2018-02-14 20:52:33

标签: python matplotlib seaborn

Seaborn提供配对实用程序,其中对角线将提供带有彩色类别的直方图。请参阅documentation中的第二个示例。我试图生成一个直方图,其中条形图按给定类别着色,但到目前为止我还没有。这是我尝试过的:

首先,我试图提取情节,例如:

iris = sns.load_dataset("iris")
g = sns.pairplot(iris, hue="species")
ax = g.diag_axes[0]
ax.plot()

哪个不起作用,因为ax对象表现为emtpy。或者,我还没有找到直接绘制这种直方图的直接方法。我试过了:

 g = sns.pairplot(iris, hue="species", vars=['sepal_length'])

这将只生成一个直方图,但是y刻度不正确,我无法更改它们。

1 个答案:

答案 0 :(得分:2)

我发现matplotlib直接提供此功能,如图here所示。 以下是iris数据集示例的解决方案:

x = [iris.sepal_length[iris.species==sp_name] for sp_name in ['setosa', 'versicolor', 'virginica']]
plt.hist(x, 8, density=True, histtype='bar', stacked=True)