Matplotlib柱形图大揭秘:让数据‘站’起来,比增高鞋垫还管用!

news2025/1/12 3:51:04

在这里插入图片描述

1. Matplotlib绘制柱形图/柱状图/条形图

  • 柱状图是一种用矩形柱来表示数据分类的图表,柱状图可以垂直绘制,也可以水平绘制,它的高度与其表示的数据成正比关系
# 导包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 如果浏览器不显示图片,就需要加上这句话
%matplotlib inline

# 让图片中可以显示中文
plt.rcParams['font.sans-serif'] = "SimHei"
# 让图片中可以显示负号
plt.rcParams["axes.unicode_minus"] = False

# 支持svg矢量图
%config Inlinebackend.figure_format = "svg"

2. 简单柱状图

x = ["语文","数学","英语","Python","化学"]
y = [20,10,40,60,10]

plt.figure(figsize=(5, 3))
plt.bar(x, y)
<BarContainer object of 5 artists>

在这里插入图片描述

3. Pandas获取Excel数据

df = pd.read_excel("05_bar.xlsx", sheet_name="bar1")
df
年份销售额
020141962035
120152838693
220162317447
320172335002
420182438570
520191675591
620203568120
x, y = df["年份"], df["销售额"]
plt.figure(figsize=(5, 3))

plt.title("年度销售额")
plt.xlabel("年份")
plt.ylabel("销售额")

# width:柱的宽度
plt.bar(x, y, width=0.8)

# 在每个柱子上显示数值
for a, b in zip(x, y):
    plt.text(x=a, y=b, s="{:.1f}万".format(b/10000), ha="center", fontsize=9)

在这里插入图片描述

4. 一次绘制多个柱形图

df2 = pd.read_excel("05_bar.xlsx", sheet_name="bar2")
df2
年份北区中区南区
02014634704534917792414
120151218844746554873295
220161013322904058400067
320171068521122691254212
420184193525269851492233
520191190076117510368005
6202069542114339611438738
x, y1, y2, y3 = df2["年份"], df2["北区"], df2["中区"], df2["南区"]
  • 簇状柱形图
plt.figure(figsize=(5, 3))
plt.title("年销售额")
plt.xlabel("年份")
plt.ylabel("销售额")

# width:设置柱的宽度
w = 0.2
plt.bar(x-w, y1, width=w, label="北区")
plt.bar(x, y2, width=w, label="中区")
plt.bar(x+w, y3, width=w, label="南区")

# 图例
plt.legend()
<matplotlib.legend.Legend at 0x1771356c610>

在这里插入图片描述

  • 堆叠柱状图
plt.figure(figsize=(5, 3))
plt.title("年销售额")
plt.xlabel("年份")
plt.ylabel("销售额")

# bottom:堆叠在上面
plt.bar(x, y1, label="北区")
plt.bar(x, y2, label="中区", bottom=y1)
plt.bar(x, y3, label="南区", bottom=y1+y2)

# 图例
plt.legend()
<matplotlib.legend.Legend at 0x17713808a10>

在这里插入图片描述

5. 条形图

plt.barh(x, y1)
<BarContainer object of 7 artists>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1959608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

黑马Java零基础视频教程精华部分_9_面向对象进阶(1)

系列文章目录 文章目录 系列文章目录一、static(表示静态) 是Java中的一个修饰符&#xff0c;可以修饰成员方法&#xff0c;成员变量1、静态变量2、静态变量底层原理3、static静态方法4、工具类、测试类、Javabean类5、static注意事项从代码层面从内存层面 6、重新认识main方法…

[ WARN:0@0.014] global loadsave.cpp:248 cv::findDecoder imread_

[ WARN:00.014] global loadsave.cpp:248 cv::findDecoder imread_ 目录 [ WARN:00.014] global loadsave.cpp:248 cv::findDecoder imread_ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰…

网工必装软件,SecureCRT从零到精通,不可错过

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 中午好&#xff0c;我的网工朋友。 相信在平时的日常工作中&#xff0c;大家经常需要通过安全的方式远程访问各种设备和服务。SecureCRT作为一款强…

JavaWeb的三层架构和分层解耦

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;JavaWeb关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 目录 三层架构 分层解耦 三层架构是哪三层&#xff1f; Controller:表现层…

云微客短视频矩阵能带来流量吗?有哪些产品特色?

短视频平台&#xff0c;现如今已经成为了互联网最大的流量池&#xff0c;诸如抖音、快手、小红书、视频号、哔哩哔哩等平台&#xff0c;日活量都在上亿。短视频赛道汇聚了无数的用户群体&#xff0c;所以商企品牌的营销定位就应该在这里。 许多企业看到了这样的营销商机&#x…

AI绘画模型之:CLIP 与 DALL-E 2

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

自动驾驶:SLAM

什么是SLAM SLAM&#xff0c;即Simultaneous Localization and Mapping&#xff08;同时定位与地图构建&#xff09; 最早由Smith、Self和Cheeseman于1988年提出。是自动驾驶领域中的一项核心技术。它允许自动驾驶车辆在使用各种传感器&#xff08;如激光雷达、摄像头、IMU等&…

计算机毕业设计选题推荐-服装生产管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

大模型开闭源之争,本质是商业化的争夺

大模型从发展之初&#xff0c;即存在开源与闭源两条路线&#xff0c;孰优孰劣&#xff0c;也处于持续争论之中。2024年7月&#xff0c;在“2024世界人工智能大会”上&#xff0c;众多业内领军人物对大模型开闭源表达了针锋相对的观点。例如&#xff0c;百度创始人李彦宏站在闭源…

成功解决:java.security.InvalidKeyException: Illegal key size

在集成微信支付到Spring Boot项目时&#xff0c;可能会遇到启动报错 java.security.InvalidKeyException: Illegal key size 的问题。这是由于Java加密扩展&#xff08;JCE&#xff09;限制了密钥的长度。幸运的是&#xff0c;我们可以通过简单的替换文件来解决这个问题。 解决…

LeetCode 17.电话号码的字母组合 C++写法

LeetCode 17.电话号码的字母组合 C写法 思路&#x1f9d0;&#xff1a; 使用深度优先搜索递归进行解题。首先建立一个号码与字母的映射表&#xff0c;当接收传过来的号码字符串时减去字符0就可以拿到该号码。其次使用string存储当前号码所对应字母&#xff0c;然后for循环遍历字…

用Java手写jvm之尝试解析clazz文件内容

写在前面 源码 。 本文尝试来解析下class文件的内容&#xff0c;了解了class文件内容后&#xff0c;对我们提升java认知将会带来很大的帮助&#xff0c;有多大呢&#xff0c;不好说&#xff0c;总之很大很大&#xff0c;大到受不了&#x1f60d;&#x1f60d;&#x1f60d;。 …

安泰高压放大器在工业领域中的应用

高压放大器是一种在工业领域中发挥重要作用的电子设备&#xff0c;其功能是将低电压信号放大到更高的电压水平。这种设备在多个工业应用中都发挥着关键作用&#xff0c;提供了稳定、可调节的高电压输出。以下是高压放大器在工业领域中的主要应用&#xff1a; 1.精密仪器和实验室…

尚硅谷电商实时数仓笔记-《二》数仓建模概述

上一篇&#xff1a; 尚硅谷电商实时数仓笔记-《一》数仓概述-CSDN博客 二、数仓建模概述 2.1 数据仓库建模的意义 如果把数据看作图书馆里的书&#xff0c;我们希望看到它们在书架上分门别类地放置&#xff1b; 如果把数据看作城市的建筑&#xff0c;我们希望城市规划布局合理…

面试官没想到一个ArrayList,我都能跟他扯半小时

点赞再看&#xff0c;Java进阶一大半 南哥在stackoverflow社区看到14年前的这么一个问题&#xff1a;Java 的 Vector.add() 和 Vector.addElement() 有什么区别&#xff0c;大家有答案吗&#xff1f; 它们实际上没有区别&#xff01;&#xff01;&#xff01;1996年的JDK 1.0版…

每日一题,力扣leetcode Hot100之56. 合并区间

解题思路&#xff1a; 先按照每个数组的第一个数字sort排序。 每次进来一个数组&#xff0c;如果你的第1项大于别人的第2项&#xff0c;那么直接添加。 否则的话则存在可以合并的区间&#xff0c;然后合并的区间的第2项则为旧的和新的第2项的最大值。 class Solution:def m…

SpringBoot框架简单整合ShardingSphere-JDBC实现MySQL分库分表和读写分离及加密混合

1. 主从配置 1.1 主机1&#xff08;IP:192.168.186.77&#xff09; 1.1.1 docker-compose.yml version: 3.8services:mysql-master:image: mysql:latestcontainer_name: mysql-masterenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_USER: masterMYSQL_PASSWORD: 123456MYSQL…

计算机毕业设计Hadoop+Spark旅游景点可视化 旅游景点推荐系统 景区游客满意度预测与优化 Apriori算法 景区客流量预测 旅游大数据 景点规划

### 开题报告 **论文题目&#xff1a;** 基于Spark的旅游景点可视化系统的设计与实现 **研究背景与意义&#xff1a;** 随着旅游业的快速发展&#xff0c;人们对旅游信息的获取和处理需求越来越高。传统的旅游信息系统虽然能够提供静态的数据查询和展示功能&#xff0c;但在…

短视频矩阵管理系统开发

在短视频内容爆炸式增长的今天&#xff0c;如何高效管理多个账号&#xff0c;同时保持内容的创新性和互动性&#xff0c;成为了创作者和品牌面临的重大挑战。短视频矩阵管理系统的开发&#xff0c;正是为了解决这一问题&#xff0c;提供一个全面的解决方案。 多账号管理&#…

本地调试指引文档

在开发组件库时&#xff0c;我们经常需要在真实的项目中测试组件库的功能&#xff0c;所以需要进行本地调试&#xff0c;本文介绍两种组件库本地调试流程&#xff0c; 1.使用beta版本 2.使用npm link 两种都可以作为本地调试的方案&#xff0c;本文作为一个参考资料&#xff0…