【发布时间】:2020-06-05 20:32:49
【问题描述】:
我有四个不同的label_list。如果每个label_list 的第二列和第三列的值相同,我想用一个特定的标记来标记那个点。
例如:
df = pd.DataFrame([['0', 0.3, 'gd','gd'],['0',0.2,'gf','gd'],['1',0.5,'gd','gd'],['1',0.1,'gf','gf'],['2', 0.9,'gd','gd'],['2', 0.1,'gf','gf'],
['0', 0.8,'gd','gd'],['0',0.3,'gf','gf'],['1',0.3,'gd','gd'],['1',0.3,'gf','gf'],['2', 0.4,'gd','gf'],['2', 0.3,'gf','gf'],
['0', 0.4,'gd','gf'],['0',0.4,'gf','gd'],['1',0.0,'gd','gf'],['1',0.9,'gf','gd'],['2', 0.7,'gd','gf'],['2', 0.4,'gf','gd']])
df.columns = ['label', 'score','hotel','hotel_1']
label_list = ['0', '1', '2','3']
fig = plt.figure(figsize=(8, 5))
g=sns.boxplot(x='label', y='score', data=df, hue='hotel',dodge =True)
g=sns.stripplot(x='label',y = 'score',data=df, hue='hotel_1',dodge =False)
g.legend_.remove()
plt.show()
【问题讨论】: