根据seaborn jointplot 上的数据帧值更改标记类型

问题描述 投票:0回答:1

使用下面的代码

penguins = pd.read_csv("./penguins.csv")
markers = (['x','o','v'])
sns.jointplot(data=penguins, x="flipper_length_mm", y="bill_length_mm", hue="species", height=10)

我想根据“物种”组更改标记。 试过

sns.jointplot(data=penguins, x="flipper_length_mm", y="bill_length_mm", hue="species", height=10, joint_kws={"marker": markers})

按照另一篇文章中的建议,但得到了

ValueError:无法识别的标记样式['x','o','v']

有什么提示吗?

python seaborn
1个回答
0
投票

你不能,

jointplot
不支持不同的标记。然而
JointGrid
确实:

import seaborn as sns

penguins = sns.load_dataset('penguins')
markers = ['x', 'o', 'v']

g = sns.JointGrid(data=penguins, x='flipper_length_mm', y='bill_length_mm', hue='species', height=5)
sns.scatterplot(data=penguins, x='flipper_length_mm', y='bill_length_mm', hue='species', style='species', ax=g.ax_joint)
g.plot_marginals(sns.kdeplot, fill=True)

输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.