为了账号安全,请及时绑定邮箱和手机立即绑定

如何将来自不同列的标记添加到 seaborn pandas barplot

如何将来自不同列的标记添加到 seaborn pandas barplot

繁花不似锦 2022-12-20 12:10:35
我有以下数据集、代码和绘图:import matplotlib.pyplot as pltimport seaborn as snsimport pandas as pddata = [['tom', 10,15], ['matt', 13,10]]df3 = pd.DataFrame(data, columns = ['Name', 'Attempts','L4AverageAttempts']) f,ax = plt.subplots(nrows=1,figsize=(16,9))sns.barplot(x='Attempts',y='Name',data=df3)plt.show()如何获得某些描述(点、*、形状等)的标记以显示tom平均为 15(因此低于他的平均水平)并且 matt平均为 10 所以高于平均水平。因此,一个标记会根据L4AverageAttempts每个人的价值来计算。我已经调查过了axvline,但这似乎只是一个固定数字,而不是每个 y 轴类别的特定值。任何帮助将非常感激!谢谢!
查看完整描述

1 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

L4AverageAttempts您可以使用x 值在条形图的顶部简单地绘制散点图:


您可以为此使用seaborn.scatterplot。确保设置zorder参数,使标记出现在条形图的顶部。


import seaborn as sns

import pandas as pd

data = [['tom', 10,15], ['matt', 13,10]]


df3 = pd.DataFrame(data, columns = ['Name', 'Attempts','L4AverageAttempts'])


f,ax = plt.subplots(nrows=1,figsize=(16,9))

sns.barplot(x='Attempts',y='Name',data=df3)


sns.scatterplot(x='L4AverageAttempts', y="Name", data=df3, zorder=10, color='k', edgecolor='k')


plt.show()

//img1.sycdn.imooc.com//63a135e80001012511070693.jpg

查看完整回答
反对 回复 2022-12-20
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信