在同一张图上可视化分类值和数值
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)
我有数据框,它背后的故事:小组学生每个月的分数,以及对获得这样的分数贡献最大的学生。我想要的是将分数绘制为曲线(或条形),并将名称可视化 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)