使用matplotlib库绘制各种折线图(如何利用matplotlib绘制叠加柱状图)

发布日期:2025-01-22 04:08:25     作者:憨九妹     手机:https://m.xinb2b.cn/know/sdm198999.html     违规举报

哈喽,大家晚上好,今天给大家介绍一下如何利用matplotlib绘制叠加柱状图,大概样子长这样:

目的:将三门成绩通过叠加柱状图进行展现


1.导入数据:

import pandas as pd

df=pd.read_excel('成绩表.xlsx')


2.设置中文标签正常显示:

这一步是为了让坐标轴的中文标签能够正常显示:

from matplotlib.font_manager import FontProperties

plt.rcParams['font.sans-serif'] = ['Songti SC']

3.将第一列数据以柱状图形式显示:

首先我们将语文成绩按照柱形图进行展示,高度为语文成绩,x轴显示的是姓名列:

plt.bar(x=df.姓名,height=df.语文,color='red',width=0.8)


4.将数学列进行叠加显示:

1)首先设置x轴的坐标位置:

import numpy as np

x=np.arange(3)

2)高度为数学成绩所对应的数据:

height=df.数学

3)通过bottom设置叠加效果:

bottom代表着y轴所在的坐标,应该摞在原本的语文成绩之上,因此这样写:

bottom=df.语文

4)数学成绩的代码如下:

plt.bar(x=np.arange(3),height=df.数学,bottom=df.语文,color='blue',

width=0.8)


5.英语成绩叠加显示:

与数学成绩的计算方法大同小异,不同的是注意bottom需要在前两个数据再次进行叠加:

plt.bar(x=np.arange(3),height=df.英语,bottom=df.语文 df.数学,

color='yellow',width=0.8)


6.添加图例:

分别在各科目中加入标签:

plt.bar(x=df.姓名,height=df.语文,color='red',width=0.8,label='语文')

plt.bar(x=np.arange(3),height=df.数学,bottom=df.语文,color='blue',

width=0.8,label='数学')

plt.bar(x=np.arange(3),height=df.英语,bottom=df.语文 df.数学,

color='yellow',width=0.8,label='英语')

plt.legend()


好了,今天的文章就先到这里了,明天见!

 
 
本文地址:https://xinb2b.cn/know/sdm198999.html,转载请注明出处。

推荐图文
推荐经验知识
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  违规举报  |  蜀ICP备18010318号-4  |  百度地图  | 
Processed in 0.034 second(s), 1 queries, Memory 0.58 M