Python 使seaborn Swarmlot的宽度与小提琴相同

Python 使seaborn Swarmlot的宽度与小提琴相同,python,matplotlib,seaborn,swarmplot,Python,Matplotlib,Seaborn,Swarmplot,我正在试着在小提琴上画一个草丛。 有没有办法使群宽度缩短,就像小提琴图中的宽度选项一样 使用matplotlib.scatter而不是seaborn.Swarmlot会更容易吗 import seaborn as sns data = pd.read_csv('allparticles.csv') b = sns.swarmplot(x="capsid", y="dT",hue="media",data=dataT,dodge=True

我正在试着在小提琴上画一个草丛。 有没有办法使群宽度缩短,就像小提琴图中的宽度选项一样

使用matplotlib.scatter而不是seaborn.Swarmlot会更容易吗

import seaborn as sns
data = pd.read_csv('allparticles.csv')
b = sns.swarmplot(x="capsid", y="dT",hue="media",data=dataT,dodge=True,size=8)
c = sns.violinplot(x="capsid", y="dT",hue="media",inner="box",data=data ,width=0.3)
这会导致如下结果:

我想把Swarmlot做得更苗条些,以匹配小提琴

我唯一的另一个想法是从小提琴上得到x最小值和最大值,并使用
matplotlib
绘制它


谢谢。

swarm绘图的目的是置换这些点,使它们不会重叠。例如,您可以在WT swarm图中看到,群的宽度由靠近的点的数量加上每个点的宽度决定。如果你想让曲线图更细,你必须把点缩小。您可以使用
sns.swamplot的
size
参数执行此操作。我们可以通过减小点的大小使其与小提琴图匹配,从而使其类似

尝试更改大小参数的值:

b=sns.swarmplot(x="capsid",y="dT",hue="media",data=dataT,dodge=True,size=3,color="0.25")