在seaborn 0.11.2中将色调应用于PairGrid的下部或上部

发布于 2025-01-14 21:46:17 字数 827 浏览 0 评论 0原文

提供了此问题的解决方案 这里。然而,对于最新版本的seaborn(0.11.2),它不起作用,而是产生单色的散点图。

这是之前提出的解决方案:

import matplotlib.pyplot as plt
import seaborn as sns

df = sns.load_dataset("iris", cache=True)

g = sns.PairGrid(df)

g.map_upper(sns.scatterplot)

g.map_diag(sns.kdeplot)

# Now set parameters needed for `hue`
g.hue_vals = df["species"]
g.hue_names = df["species"].unique()
g.palette = sns.color_palette("husl", len(g.hue_names))
# Then map lower
g.map_lower(sns.scatterplot)

plt.show()

产生:

在此处输入图像描述

任何人都可以提出一个适用于 Seaborn 0.11.2 的解决方案吗?

A solution to this problem was provided here. However, for a more recent version of seaborn (0.11.2), it doesn't work, instead yielding a scatter plot in a single color.

Here is the previously proposed solution:

import matplotlib.pyplot as plt
import seaborn as sns

df = sns.load_dataset("iris", cache=True)

g = sns.PairGrid(df)

g.map_upper(sns.scatterplot)

g.map_diag(sns.kdeplot)

# Now set parameters needed for `hue`
g.hue_vals = df["species"]
g.hue_names = df["species"].unique()
g.palette = sns.color_palette("husl", len(g.hue_names))
# Then map lower
g.map_lower(sns.scatterplot)

plt.show()

which yields:

enter image description here

Can anyone propose a solution to this problem that will work for Seaborn 0.11.2?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

攒眉千度 2025-01-21 21:46:17

我想我会这样做

df = sns.load_dataset("iris")
g = sns.PairGrid(df, hue="species")
g.map_upper(sns.scatterplot)
g.map_lower(sns.scatterplot, hue=None)
g.map_diag(sns.kdeplot, hue=None)
g.add_legend()

在此处输入图像描述

您也可以采用其他方式,仅在 map_upper 调用中分配 hue 。但要正确地理解这个传说是很困难的。

I guess I would do this

df = sns.load_dataset("iris")
g = sns.PairGrid(df, hue="species")
g.map_upper(sns.scatterplot)
g.map_lower(sns.scatterplot, hue=None)
g.map_diag(sns.kdeplot, hue=None)
g.add_legend()

enter image description here

You could do it the other way, only assigning hue in the map_upper call. But it would be tricker to get the legend right.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文