python绘制堆叠条形图介绍

作者:lingan_Hong 时间:2021-07-01 23:12:36 

目前在网络上多是单个条形图堆叠,没看到一组的条形图堆叠。
代码如下:


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

导入一组自己造的数据


data  = pd.read_excel('data.xlsx')
In [4]: data
Out[4]:

python绘制堆叠条形图介绍

多使用几个plt.bar()函数,就可以画出来啦。。。


tick_label = list(data.columns)
tick_label.remove(‘类别')
x = np.arange(len(tick_label))

y1 = data.iloc[2,1:].values.tolist() #收入(剔除自己转入)
y2 = data.iloc[3,1:].values.tolist() #支出(剔除自己转入)
y3 = data.iloc[4,1:].values.tolist() #收入(自己转入)
y4 = data.iloc[5,1:].values.tolist() #支出(自己转入)
bar_with = 0.25 #柱体宽度plt.figure(figsize = (12,6)) #画布大小
plt.bar(x, y1, width = bar_with, #柱体宽度
align = ‘center', #x轴上的坐标与柱体对其的位置
color = ‘orangered', alpha = 0.6, #柱体透明度
label = ‘收入(剔除自己转入)')
plt.bar(x,y3,width = bar_with, bottom = y1, #柱体基线的y轴坐标
align = ‘center', color = ‘lightsalmon', alpha = 0.6, label = ‘收入(自己转入)')
plt.bar(x + bar_with, y2, width = bar_with,
align = ‘center', color = ‘deepskyblue', alpha = 0.6, label = ‘支出(剔除自己转入)')
plt.bar(x + bar_with, y4, width = bar_with, bottom = y2,
align = ‘center', color = ‘lightskyblue', alpha = 0.6, label = ‘支出(自己转入)')
plt.title(‘月度收支表', fontsize = 10) #设置x轴标题
plt.xticks(x + bar_with/2, tick_label, rotation = 70) #设置x轴坐标
plt.xlabel(‘时间',fontsize = 8, verticalalignment = ‘top', horizontalalignment=‘right',rotation=‘horizontal')
plt.xlabel(‘时间',fontsize = 8, verticalalignment = ‘bottom', horizontalalignment=‘center')

#图例设在图形外面,控制坐标参数
plt.legend(loc = ‘center', bbox_to_anchor = (0.77, 1.1), ncol=2)
plt.savefig(‘draw_bar.png', dpi=200, bbox_inches = ‘tight')
plt.close()

绘制如图:

python绘制堆叠条形图介绍

是不是其实plt绘图也没有哪么辣眼睛了。。。

来源:https://blog.csdn.net/lingan_Hong/article/details/122016303

标签:python,条形图
0
投稿

猜你喜欢

  • 作符合用户体验的input输入框

    2008-01-10 12:21:00
  • Python基本数据类型详细介绍

    2021-10-14 07:02:50
  • 使用ASP遍历并列表显示目录文件

    2009-11-08 18:32:00
  • 如何从Python字符串中删除最后一个分号或者逗号

    2023-12-22 07:29:53
  • 关于ASP eof与bof 区别分析

    2011-03-11 11:14:00
  • asp如何做一个随机密码产生器?

    2010-07-12 18:57:00
  • Python利用pywin32库实现将PPT导出为高清图片

    2023-10-01 22:59:45
  • mysql: 安装后的目录结构

    2011-03-08 09:46:00
  • Python3字符串学习教程

    2023-04-21 10:51:06
  • python实现连连看游戏

    2021-12-02 00:25:10
  • 关于python中readlines函数的参数hint的相关知识总结

    2023-12-31 02:37:12
  • Python同步遍历多个列表的示例

    2023-08-08 00:20:10
  • Python类属性与实例属性用法分析

    2022-10-12 03:14:58
  • sqlserver通用的删除服务器上的所有相同后缀的临时表

    2012-06-06 20:07:34
  • 优化Oracle停机时间及数据库恢复

    2010-07-20 12:54:00
  • 通过底层源码理解YOLOv5的Backbone

    2023-07-15 20:37:01
  • Python字符串切片操作知识详解

    2022-05-17 07:04:35
  • 基于Python实现文件的压缩与解压缩

    2023-12-24 09:07:58
  • Python数据可视化实现正态分布(高斯分布)

    2022-10-28 03:31:29
  • vertical-align表单元素垂直对齐

    2009-07-27 13:02:00
  • asp之家 网络编程 m.aspxhome.com