5

我尝试使用 seaborn 在 swarmplot 上绘制组明智的中值pointlot。尽管我将 pointPlot 称为第二个,但点图最终还是落在了 swarmplot 之后。如何更改“层顺序”以使点图位于 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)

在此处输入图像描述

4

1 回答 1

6

使用zorder属性设置正确的绘图顺序

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()

在此处输入图像描述

于 2017-05-05T08:08:29.283 回答