我想绘制一个带有多列的seaborn catplot,并使用参数hue
来区分一些观察结果。
假设我有
import pandas as pd
import seaborn as sns
import random as r
import numpy as np
name_list=['pepe','Fabrice','jim','Michael']
country_list=['spain','France','uk','Uruguay']
favourite_color=['green','blue','red','white']
df=pd.DataFrame({'name':[r.choice(name_list) for n in range(100)],
'country':[r.choice(country_list) for n in range(100)],
'fav_color':[r.choice(favourite_color) for n in range(100)],
'score':np.random.rand(100),})
字符串
如果我逃跑
sns.catplot(y='score',hue='fav_color',col='country',data=df)
型
我得到一个TypeError: 'NoneType' object is not iterable
。如果我指定legend=False
,我不会得到任何错误,但所有点看起来都是相同的颜色。我也尝试指定调色板与相同的结果。这是一个bug还是我做错了什么?
1条答案
按热度按时间mdfafbf11#
你可以尝试给X作为色调值与不同的选项,如点或带等。
字符串
或
指定kind = 'count'而不使用X变量,如下所示
型