Seaborn Swarmlot和pointplot减淡对齐

Seaborn Swarmlot和pointplot减淡对齐,plot,seaborn,swarmplot,Plot,Seaborn,Swarmplot,是否有方法将点图的平均值+SEM与相应的Swarmlot对齐 这是我的密码: import seaborn as sns import numpy as np import pandas as pd import matplotlib.pyplot as plt fig, ax = plt.subplots(nrows=1, ncols=1) n=200 to_plot = np.random.uniform(low=0.0, high=1.0, size=n) mods = ['a','b'

是否有方法将点图的平均值+SEM与相应的Swarmlot对齐

这是我的密码:

import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

fig, ax = plt.subplots(nrows=1, ncols=1)
n=200
to_plot = np.random.uniform(low=0.0, high=1.0, size=n)
mods = ['a','b']
model_col = mods*(n/2)
opt=['1']*(n/2)+['2']*(n/2)

d={'Model':pd.Series(model_col),'Par':pd.Series(to_plot),'opt':pd.Series(opt)}
df = pd.DataFrame(d)
sns.swarmplot(x='Model', y='Par',hue='opt',dodge=True,data=df,size=2,palette=['#469990','#000075'])
sns.pointplot(x="Model", y="Par", hue='opt', data=df,join=False,dodge=True,
     ci=68,n_boot=1000,capsize=0.1,errwidth=0.5,scale = 1.5,palette=['k','k'])

ax.get_legend().remove()
plt.show()
以下是我的情节:


似乎
swamplot
pointplot
对各自的
dodge
参数使用了不同的默认值。但是,您可以将它们设置为相等的值,例如

sns.swarmplot(...,  dodge=0.4) 
sns.pointplot(...,  dodge=0.4) 

Swarmlot的减淡参数纯粹是布尔值。传递浮点值不会影响打印行为。奇怪的是,传递浮点值不会引起错误,相反,任何不同于“False”或“0”的值都被解释为True。请参见注意,与Swarmlot不同,pointplot dodge参数接受布尔值或浮点值。