用Python怎样画堆叠条形图,技巧是什么
Admin 2022-05-20 群英技术资讯 409 次浏览
目前在网络上多是单个条形图堆叠,没看到一组的条形图堆叠。
代码如下:
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]:
多使用几个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()
绘制如图:
是不是其实plt绘图也没有哪么辣眼睛了。。。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了利用Python 实现分布式计算,文章通过借助于 Ray展开对分布式计算的实现,感兴趣的小伙伴可以参考一下
本章节主要说明Python的运算符。Python 语言支持以下类型的运算符:算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符、运算符优先级_
这篇文章主要介绍了是如何进行机器学习的模型的训练,全文逻辑清晰,简单易懂,如果您正在学习机器学习那么可以参考下,说不定会有不一样的收货
当我们提到一门编程语言的效率时:通常有两层意思,第一是开发效率,这是对程序员而言,完成编码所需要的时间;另一个是运行效率,这是对计算机而言,完成计算任务所需要的时间。编码效率和运行效率往往是鱼与熊掌的关系,是很难同时兼顾的。
这篇文章我们来了解一下Python numpy中setdiff1d函数的相关内容,下文介绍了setdiff1d函数的功能、语法、以及使用示例。有需要的朋友可以参考了解看看,接下来就跟随小编一起学习一下吧!
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008