![](/img/trans.png)
[英]How to plot line and bar-chart on the same x-axis (datetime) but different y-axis with pyplot?
[英]Different bar plot for same x-axis value
当'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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.