我正在尝试绘制分开的小提琴,以便在色相变量之间进行比较。绘图本身可以正常工作,但我想更改色相变量的顺序(即'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条目。有什么方法可以实现?
答案 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'})