matplotlib绘制单个、多个、堆积、双向柱形图
总结,主要是bar以及barh的用法,画堆叠图时还得注意一下数据类型,是否都是可加(数值型还是字符型,又或者是list等),如果不是,就是要np.array转化,还有竖图和横图间隔的设置,width和height,最后,数据都是最后的结果,数据值个数不能太多,一般不超过10个,如果是连续性数据,请先处理,然后再画图
一、单个柱形图
#构造数据 import pandas as pd import numpy as np sabf = (27,53,81,103,138) sa = (29,57,89,113,141) ffd = (30,63,94,119,152) index = np.arange(5) import matplotlib.pyplot as plt
单个直方图
plt.bar(index,sabf,width=0.5,color='green')
横向直方图
plt.barh(index,sabf,color='green',height=0.5)
记住,bar用width宽,barh用height
二、多个柱形图
主要在于x坐标的增加,设置好x坐标,其他都好办
bar_width=0.2 plt.bar(index,sabf,color='green',width=bar_width) plt.bar(index+bar_width,sa,color='blue',width=bar_width) plt.bar(index+bar_width+bar_width,ffd,color='yellow',width=bar_width) plt.legend(('sabf','sa','ffd')) plt.xticks(index + 3 * bar_width / 3,('100', '200', '300', '400', '500'))
三、堆积柱形图
主要重点在于bottom参数的设置
plt.bar(index,sabf,color='green',bottom=0) plt.bar(index,sa,color='blue',bottom=sabf) plt.bar(index,ffd,color='yellow',bottom=np.array(sabf)+np.array(sa)) #要注意这个是否可以广播,也即是说是否可加(数学上的可加),不然会报错 plt.legend(('sabf','sa','ffd')) plt.xticks(index,('100', '200', '300', '400', '500'))
四、双向柱形图
主要在于barh的使用,以及例外一个要乘(-1)
plt.barh(index,sabf,color='green',height=0.5) plt.barh(index,-np.array(sa),color='yellow',height=0.5) plt.legend(('sabf','sa'))
分类:
画图(sns,plt,plot)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人