在同一张图上可视化分类值和数值

vizualize categorical and numerical values on the same plot

我有数据框,它背后的故事:小组学生每个月的分数,以及对获得这样的分数贡献最大的学生。我想要的是将分数绘制为曲线(或条形),并将名称可视化 o(可能作为线图的点,或者只是每个条形的名称)

  Month     Score                _Max
     1         6                 Mike         
     2         5                 Alice
     3         9                 Eleonora
     4         11                 Helen

我正在使用这种方法,我知道它很混乱,并且给出了不可读的 x-ticks 标签,但我不知道如何在同一图上处理时间序列中的分类值和数值

    df['index_col'] = df.index
    ax=df.plot(kind='bar', color=['red','blue'], figsize=(30,10))
    ax.set_xlabel("Month", fontsize=21)
    ax.set_ylabel("Score", fontsize=21) 
    labels = df._Max[:]
    ax.set_xticklabels(labels, rotation =90)

也许这对你有用:

plt.bar(df['Month'], df['Score'], align='center')

for i in df.index:
    plt.text(df.loc[i, 'Month'], 12, df.loc[i, '_Max'],
             horizontalalignment='center')


plt.xticks(df['Month'])
plt.xlabel('Month')

plt.ylim([0, 15])
plt.ylabel('Score')

更新

既然你有好几行,我建议你可以用颜色来对名字进行分类。我只知道如何使用 Seaborn.

import seaborn as sns

sns.barplot('Month', 'Score', '_Max', df)