如何解决相同x轴值的不同条形图
我的数据框如下:
match_id team team_score
411 RCB 263
7937 KKR 250
620 RCB 248
206 CSK 246
11338 KKR 241
61 CSK 240
562 RCB 235
现在,我想将所有这些值的条形图绘制为单个条形,我在输出中得到的是不同的东西:
有什么方法可以为相同的x轴值制作不同的条形吗?
解决方法
将'team'
用作x
时,每个团队的所有值均被平均,小的误差条显示置信区间。要将表的每个条目作为单独的条形,可以将数据帧的索引用于x
。创建酒吧之后,可以为他们加上团队名称。
(可选),hue='team'
为每个小组加色。然后需要dodge=False
才能使条形图正确定位。在这种情况下,Seaborn还创建了一个图例,该图例并没有那么有用,因为现在同样的信息也作为x值出现。可以通过ax.legend_.remove()
取消显示图例。
from matplotlib import pyplot as plt
import pandas as pd
from io import StringIO
import seaborn as sns
data_str = StringIO("""match_id team team_score
411 RCB 263
7937 KKR 250
620 RCB 248
206 CSK 246
11338 KKR 241
61 CSK 240
562 RCB 235""")
df = pd.read_csv(data_str,delim_whitespace=True)
color_dict = {'RCB': 'dodgerblue','KKR': 'darkviolet','CSK': 'gold'}
ax = sns.barplot(x=df.index,y='team_score',hue='team',palette=color_dict,dodge=False,data=df)
ax.set_xticklabels(df['team'])
ax.legend_.remove()
plt.tight_layout()
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。