我想创建一个 Seaborn
散点图,使用以下 Dataframe :
df = pd.DataFrame({'A':[1,2,3,4],'B':[2,4,6,8],'C':['y','y','n','n'],'D':[1,1,2,2]})
在我的图表中 A
应该是 x-variable
及 B
这个 y-variable
. 此外,我想颜色的基础上列 D
. 最后,什么时候 C='y'
标记应为开放式(无面部颜色),并且 C='n'
标记应该有一个闭合的标记。我最初的想法是使用 hue
及 style
参数:
sns.scatterplot(x='A', y='B',
data=df, hue='D',style ='C')
然而,我没有设法获得我正在寻找的图形。有人能帮我吗?先谢谢你。
1条答案
按热度按时间pkbketx91#
不能指定整个标记样式(因此
'marker'
及'fillstyle'
matplotlib的键)。看看这篇文章的答案。因此,您唯一需要做的就是立即使用不同的标记并指定它们(作为列表或字典)
显然,正如这篇文章所解释的,在seaborn中甚至很难创建非填充标记。唯一的选择是做一些matplotlib seaborn混合动力车。。。因此,如果你接受在同一个轴上绘制两次(一个用于填充标记,另一个用于未填充标记),你仍然需要挖掘seaborn的怪癖。。。