我正在查看虹膜数据集(Fisher 1936)。例如https://www.kaggle.com/uciml/iris/downloads/Iris.csv
使用参数
创建seaborn配对图sns.pairplot(iris.drop("Id", axis=1), diag_kind="kde", hue="Species")
在对角线上返回带有kde图表的配对图;然而,我错过了kde图中不同物种的不同颜色,散射很好&丰富多彩。
我的结果与seaborn文档一致。 http://seaborn.pydata.org/tutorial/axis_grids.html
g = sns.pairplot(iris, hue="species", palette="Set2", diag_kind="kde", size=2.5)
但是有几个不同的例子公布了颜色。例如http://www.arunprakash.org/2017/06/data-visualisation-seaborn.html
sns.pairplot(iris, hue='Species', diag_kind='kde', size=2);
或https://www.kaggle.com/benhamner/python-data-visualizations
sns.pairplot(iris.drop("Id", axis=1), hue="Species", size=3, diag_kind="kde")
seaborn API(版本0.8.0)最近有变化吗?是否故意删除了颜色?是否有一个kw再次显示它们?
答案 0 :(得分:5)
在sns.pairplot
的对角线上有the issue生成色调。此问题现已在seaborn版本0.8.1中修复。
如果一个人仍然感兴趣,以下可能是一种解决方法。您可以自己创建基础PairGrid
并分别映射对角线和off_diagonal元素。对于对角元素,首先从当前循环器获取颜色,然后将此颜色用于kdeplot
。
import matplotlib.pyplot as plt
import seaborn as sns
iris = sns.load_dataset("iris")
g = sns.PairGrid(iris, hue='species', size=2)
def f(x, **kwargs):
kwargs.pop("color")
col = next(plt.gca()._get_lines.prop_cycler)['color']
sns.kdeplot(x, color=col, **kwargs)
g.map_diag(f)
g.map_offdiag(plt.scatter)
g.add_legend()
plt.show()