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
投稿

猜你喜欢

  • python中关于对super()函数疑问解惑

    2022-08-10 04:11:48
  • Web标准下该如何“插入”图像

    2008-03-17 13:01:00
  • Mysql 原生语句中save or update 的写法汇总

    2024-01-13 15:08:52
  • 浅谈javascript中onbeforeunload与onunload事件

    2024-04-19 09:46:08
  • jetbrains mono字体安装方法(推荐)

    2023-08-28 23:11:38
  • 教你如何使用Python selenium

    2022-05-15 11:13:50
  • keras自定义回调函数查看训练的loss和accuracy方式

    2021-01-11 18:13:09
  • 详解python中的defaultdict 默认值

    2022-12-27 08:51:40
  • Python提取PDF指定内容并生成新文件

    2022-11-09 19:44:00
  • python 列表套json字典根据相同的key筛选数据

    2022-06-01 08:52:02
  • Python之Matplotlib文字与注释的使用方法

    2022-09-09 10:36:51
  • Mysql Workbench查询mysql数据库方法

    2024-01-27 19:18:54
  • MySQL数据库管理必备工具 phpMyAdmin 3.0

    2008-12-10 14:12:00
  • Python zip()函数用法实例分析

    2022-10-28 21:39:53
  • ORACLE隐藏参数查看及修改的方法

    2024-01-13 02:33:27
  • 用正则替换所有URL

    2009-03-13 13:51:00
  • CSS hack:区分IE6,IE7,firefox

    2007-12-23 10:25:00
  • 设计师的幸福

    2009-05-21 11:59:00
  • PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析

    2023-11-17 00:16:13
  • Python中强大的命令行库click入门教程

    2023-05-01 04:24:09
  • asp之家 网络编程 m.aspxhome.com