您可以通过向数据框中添加布尔列并将其用作hue
的参数catplot()
称呼。这样您将获得两种颜色的结果(一种用于pepe
观察,其余部分)。结果可以在这里看到:
另外,参数legend=False
应该设置,否则图例is_pepe
会出现在侧面。
代码如下:
df['is_pepe'] = df['name'] == 'pepe'
ax = sns.catplot(x='fav_color',
y='score',
col='country',
col_wrap=2,
data=df,
kind='swarm',
hue='is_pepe',
legend=False)
此外,您可以使用参数为两种观察(pepe 和 not-pepe)指定两种颜色palette
和顶层函数sns.color_palette()
如下所示:
ax = sns.catplot(x='fav_color',
y='score',
col='country',
col_wrap=2,
data=df,
kind='swarm',
hue='is_pepe',
legend=False,
palette=sns.color_palette(['green', 'blue']))
获得此结果: