如何绘制只有一个颜色条的条形图?

时间:2021-01-30 08:30:17

标签: python pandas matplotlib seaborn

<头>
姓名 等级
钱德勒 A
乔伊 B
菲比 B
莫妮卡 C
罗斯 A
瑞秋 B
麦克 C
冈瑟 A
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

class2 = [['chandler','A'],
          ['joey','B'],
          ['phoebe','B'],
          ['monica', 'C'],
          ['ross','A'],
          ['rachel','B'],
          ['mike','C'],
          ['gunther','A']]
data= pd.DataFrame(class2, columns=['name','grade'])
print(data)
fig, ax = plt.subplots()
ax= sns.countplot(x='grade', data = data, color='yellow')
plt.show()

如果我想制作8张不同的成绩单(A4纸的小图),并突出学生所属的年级类别,如何从这里开始?

编辑:我想向冈瑟展示他属于哪个组。我想向所有学生展示他们属于哪个类别。为此,我需要 8 张不同的图像来发送它们。如何获得这 8 张图片?

1 个答案:

答案 0 :(得分:3)

如果我理解正确,你想要这样的东西:

gb = data.groupby('grade').apply(len)


for student, grade in class2:
    fig, ax = plt.subplots()
    
    colors = ['red' if a == grade else 'grey' for a in gb.index.values ]
    
    gb.plot(kind='bar', color = colors, ax=ax)
    plt.show()