Seaborn小提琴的色相变化顺序

时间:2019-12-17 14:47:20

标签: python pandas seaborn

我正在尝试绘制分开的小提琴,以便在色相变量之间进行比较。绘图本身可以正常工作,但我想更改色相变量的顺序(即'True'在拆分的左侧而不是右侧)。一个小的工作示例是这样:

import pandas as pd
import seaborn as sns
df = pd.DataFrame({'my_bool': pd.Series(np.random.choice([True,False],20),dtype='bool'),
                'value': pd.Series(np.random.choice(200,20),dtype='int'),
                'my_group': np.random.choice(['A','B'],20)})
sns.violinplot(x='my_group',data=df,y='value',hue='my_bool',split=True, palette = {True:'blue', False:'red'})

这是输出的样子:

我要实现的是在每个拆分的右侧有False条目,在左侧有True条目。有什么方法可以实现?

1 个答案:

答案 0 :(得分:4)

您需要设置hue_order

import pandas as pd
import seaborn as sns
import numpy as np

df = pd.DataFrame({'my_bool': pd.Series(np.random.choice([True,False],20),dtype='bool'),
                'value': pd.Series(np.random.choice(200,20),dtype='int'),
                'my_group': np.random.choice(['A','B'],20)})
sns.violinplot(x='my_group',data=df,y='value',hue='my_bool', hue_order= [True, False], split=True, palette = {True:'blue', False:'red'})