我尝试在 swarmplot 上使用 seaborn 的 pointlot 绘制分组明智的中值。即使我将 pointPlot 称为第二个,点图最终还是在 swarmplot 后面。如何更改“层顺序”,使点图位于群图前面?

datDf=pd.DataFrame({'values':np.random.randint(0,100,100)})
datDf['group']=np.random.randint(0,5,100)
sns.swarmplot(data=datDf,x='group',y='values')
sns.pointplot(data=datDf,x='group',y='values',estimator=np.median,join=False)
python - 群图上方的seaborn点图-LMLPHP

最佳答案

使用 zorder 属性设置正确的 drawing order

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

datDf=pd.DataFrame({'values':np.random.randint(0,100,100)})
datDf['group']=np.random.randint(0,5,100)
sns.swarmplot(data=datDf,x='group',y='values',zorder=1)
sns.pointplot(data=datDf,x='group',y='values',estimator=np.median,join=False, zorder=100)
plt.show()

python - 群图上方的seaborn点图-LMLPHP

关于python - 群图上方的seaborn点图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43799483/

10-10 16:56