matplotlib之堆积柱状图及百分比柱状图

本文介绍了如何使用matplotlib库在Python中绘制堆积柱状图和百分比堆积柱状图。首先从数据库或CSV文件中读取数据,然后利用pandas和numpy进行数据处理。通过subplots创建对比图,使用bottom参数控制堆积柱状图的起点。在百分比堆积图上,还展示了如何添加柱状图对应的颜色百分比文本。最后提供了完整的代码示例和自定义函数。
摘要由CSDN通过智能技术生成

matplotlib之堆积柱状图及百分比柱状图

在博主日常的绘图过程,有一种图也是什么常见的绘图工作,就是堆积的柱状图,其实很简单,就注意几个参数即可。 Here we go!

首先是引入数据库:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

然后我创建了一个csv文件,这里随机填写了一些数据,详细如下:
在这里插入图片描述
接下来用pandas读取数据,用pandas读取csv十分简单,几行代码搞定:

name = csv.Person
salary1 = np.array(csv.Salary1)
salary2 = np.array(csv.Salary2)
salary3 = np.array(csv.Salary3)

这里把pandas对象转成np的array是为了方便之后的array加减操作。
这里展示两种效果,因此用一下subplots函数创建了对比图

fig, axs = plt.subplots(1 , 2, figsize=(10,4))
axs[0].bar(index, salary1, width=0.4, label= 'salary1')
axs[0].bar(index, salary2, width=0.4, bottom=salary1, label= 'salary2')
axs[0].bar(index, salary3, width=0.4, bottom=salary2+salary1, label= 'salary3')
axs[0].set_ylim(0, 30000)
axs[0].set_xticklabels(name, rotation=90)
axs[0].legend(loc='upper left',  shadow=True)

summ = salary1+salary2+salary3
percentage1 = salary1/summ
percentage2 = salary2/summ
percentage3 = salary3/summ

axs[1].bar(index, percentage1, width=0.4, label= salary1)
axs[1].bar(index, percentage2, width=0.4, bottom=percentage1, label= salary2)
axs[1
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值