Matplotlib_绘制柱状图

news2024/11/16 8:59:06

绘制柱状图

🧩bar方法

bar()是Matplotlib.pyplot库中用于绘制条形图(bar chart)的函数。条形图是一种常见的数据可视化图表,用于显示不同类别之间的比较。

函数签名:

matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, align='center', data=None, **kwargs)

主要参数:

  • x: 条形图的x轴位置,通常是一个序列或数组,表示不同类别的位置。
  • height: 条形图的高度,通常是一个序列或数组,表示每个类别对应的数值。
  • width: 条形图的宽度,默认值是0.8,表示条形的宽度,可以自行调整。
  • bottom: 可选参数,条形图底部的位置,默认为None,即从0开始绘制,如果设置为一个序列或数组,可以在底部添加另一个条形图,用于堆叠图表。
  • align: 条形图的对齐方式,默认为’center’,表示在给定的x轴位置上居中绘制条形图,也可以设置为’edge’,表示在给定的x轴位置上左对齐绘制条形图。
  • data: 可选参数,用于绘图的数据来源,可以是一个Pandas DataFrame或其他数据结构。

除了上述主要参数外,bar()函数还支持一系列其他参数,如颜色、标签、边框等,可以通过关键字参数进行设置,用于定制条形图的样式和显示。

示例:

import matplotlib.pyplot as plt

# 定义数据
categories = ['A', 'B', 'C', 'D']
values = [10, 20, 15, 30]

# 绘制条形图
plt.bar(categories, values)

# 添加标题和标签
plt.title('Bar Chart Example')
plt.xlabel('Categories')
plt.ylabel('Values')

# 显示图表
plt.show()

这将绘制一个简单的条形图,显示不同类别的数值比较。

🎯实战:

  • 使用 bar 函数可以绘制 柱状图。柱状图需要水平的 x 坐标值,以及每一个 x 坐 标值对应的 y 坐标值,从而 形成柱状的图。柱状图主要 用来纵向对比和横向对比的。例如,根据年份对销售收据进行纵向对比,x 坐标值就表示年 份,y 坐标值表示销售数据。
# coding: utf-8

import matplotlib.pyplot as plt
import numpy as np

# 绘制柱状图
x = [1980, 1985, 1990, 1995]
x_labels = ['1980年', '1985年', '1990年', '1995年']
y = [1000, 3000, 4000, 5000]
colors = [1, 2, 3, 4, 5]
plt.bar(x, y, width=3)
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.xticks(x, x_labels)
plt.xlabel('年份')
plt.ylabel('销量')
plt.title('根据年份销量对比图')
plt.show()

# 使用bar()和barh()函数绘制柱状图
np.random.seed(0)
x = np.arange(5)
y = np.random.randint(-5, 5, 5)
print(x, y)
# 将画布分为一行两列
plt.subplot(1, 2, 1)
# 在第一列中画图
v_bar = plt.bar(x, y)
# 在第一列的画布中0位置画一条蓝线
plt.axhline(0, color='blue', linewidth=2)
plt.subplot(1, 2, 2)
# bath将y和x轴兑换, 纵轴为x轴
h_bar = plt.barh(x, y, color='red')  # ta的宽度参数是height,而不是width
# 在第二列的画布中0位置处画蓝色的线
plt.axvline(0, color='red', linewidth=2)
plt.show()

# 使用bar()绘制三天中三部电影的票房变化
# 三天中三部电影的票房变化
real_names = ['千与千寻', '玩具总动员4', '黑衣人:全球追缉']
real_num1 = [5453, 7548, 6543]
real_num2 = [1840, 4013, 3421]
real_num3 = [1080, 1673, 2342]
# 生成x  第1天   第2天  第3天
x = np.arange(len(real_names))
x_label = [f'第{i + 1}天' for i in x]
# 绘制柱状图
# 设置柱的宽度
width = 0.3
plt.bar(x, real_num1, color='g', width=width, label=real_names[0])
plt.bar([i + width for i in x], real_num2, color='b', width=width, label=real_names[1])
plt.bar([i + 2 * width for i in x], real_num3, color='r', width=width, label=real_names[2])
# Matplotlib 默认情况不支持中文,可以使用以下简单的方法来解决:
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
# 修改x坐标
plt.xticks([i + width for i in x], x_label)
# 添加图例
plt.legend(loc='upper left', fancybox=True, framealpha=1, shadow=True, borderpad=1)
# 添加标题
plt.title('三天的票房数')
plt.show()

因为程序是单线程的, 所以同一时间只能显示一个图表, 关闭一个图表后才会弹出另外一个图表

result:

  1. 柱状图1在这里插入图片描述|100

  2. 水平柱状图和竖直柱状图在这里插入图片描述|100

  3. 票房变化柱状图在这里插入图片描述|100

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

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

相关文章

ICMP协议(网际报文控制协议)详解

ICMP协议(网际报文控制协议)详解 ICMP协议的功能ICMP的报文格式常见的ICMP报文差错报文目的站不可达数据报超时 查询报文回送请求或回答 ICMP协议是一个网络层协议。 一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络…

JDBC Some Templates

JDBCTemplate 是Spring对JDBC的封装&#xff0c;使用JDBCTemplate方便实现对数据的操作。 <!-- orm:Object relationship mapping m对象 关系 映射-->引入依赖 <!-- 基于Maven依赖的传递性&#xff0c;导入spring-content依赖即可导入当前所需的所有…

Spring项目启动报错无法访问org.springframework.boot.SpringApplication:6

当springBoot项目启动后报错如下 解决办法如下&#xff1a;将jdk版本调为11,springBoot版本降低为2.7.12。然后clean&#xff0c;再package重新打包。最后重新启动项目

存储论——经济订货批量的R实现

存储论又称库存理论&#xff0c;是运筹学中发展较早的分支。早在 1915 年&#xff0c;哈李斯&#xff08;F.Harris&#xff09;针对银行货币的储备问题进行了详细的研究&#xff0c;建立了一个确定性的存储费用模型&#xff0c;并求得了最佳批量公式。1934 年威尔逊&#xff08…

第五章 HL7 架构和可用工具 - 创建新的自定义架构

文章目录 第五章 HL7 架构和可用工具 - 创建新的自定义架构创建新的自定义架构定义新段 第五章 HL7 架构和可用工具 - 创建新的自定义架构 创建新的自定义架构 要从管理门户启动自定义架构编辑器&#xff0c;请从主页选择互操作性 > 互操作 > HL7 v2.x >HL7 v2.x 架…

单机和集群以及分布式的浅析

假设一个大系统分为A、B、C、D、E五个模块&#xff0c;也可以认为是五个基本的服务&#xff0c;该系统靠这五个模块协同工作&#xff0c;共同为用户提供服务。 单机 单机&#xff1a;显然&#xff0c;单机表名该系统完完全全的部署在该台机器上&#xff0c;拥有完整的服务&am…

算法38:反转链表【O(n)方案】

一、需求 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1] 示例3&#xff…

监听镜像版本变化触发 GitOps工作流

文章目录 前言工作流总览安装和配置 ArgoCD Image Updater创建 Image Pull Secret&#xff08;可选&#xff09;创建 Helm Chart 仓库创建 ArgoCD Application删除旧应用&#xff08;可选&#xff09;配置仓库访问权限创建 ArgoCD 应用 体验 GitOps 工作流总结 前言 在【GitOps…

FastDeploy的方式在OK3588上部署yolov7-- C++

FastDeploy介绍 ⚡️FastDeploy是一款全场景、易用灵活、极致高效的AI推理部署工具&#xff0c; 支持云边端部署。提供超过 &#x1f525;160 Text&#xff0c;Vision&#xff0c; Speech和跨模态模型&#x1f4e6;开箱即用的部署体验&#xff0c;并实现&#x1f51a;端到端的…

附录1-将uni-app运行到微信开发者工具

目录 1 在manifest.json写入AppID 2 配置微信开发者工具的安装路径 3 微信开发者工具的安全设置 4 运行 5 修改一些配置项 1 在manifest.json写入AppID 2 配置微信开发者工具的安装路径 如果你忘了安装在哪里了&#xff0c;可以右键快捷方式看一下属性 在运行设置…

邻接矩阵与邻接表

文章目录 0 前面几种数据结构的回顾1 图1.1 图的定义1.2 常见术语1.3 图的抽象数据类型定义1.4 表示一个图1.4.1 邻接矩阵表示法1.4.2 邻接表 1.5 图的构建1.5.1 邻接矩阵法1.5.2 邻接表法 0 前面几种数据结构的回顾 1 图 1.1 图的定义 图&#xff1a; G (V,E) // Graph (V…

Moke 一百万条 Mysql 的数据

文章目录 前言创建数据库创建表结构生成数据 前言 想研究一下&#xff0c;数据量大的情况下&#xff0c;如何优化前端分页&#xff0c;所以需要 Moke 一些数据 创建数据库 在 Mysql的基础上&#xff0c;可以写个语句执行 CREATE DATABASE test_oneMillion; USE test_oneMi…

Jmeter —— 录制脚本

1. 第一步&#xff1a;添加http代理服务器&#xff0c;在测试计划--》添加--》非测试元件--》http代理服务器 2. 第二步&#xff1a;添加线程组&#xff08;这个线程组是用来放录制的脚本&#xff0c;不添加也可以&#xff0c;就直接放在代理服务器下&#xff09; 测试计划--》…

【Linux】sed修改文件指定内容

sed修改文件指定内容&#xff1a; 参考&#xff1a;(5条消息) Linux系列讲解 —— 【cat echo sed】操作读写文件内容_shell命令修改文件内容_星际工程师的博客-CSDN博客

如何连接远程服务器?快解析内内网穿透可以吗?

如今我们迎来了数字化转型的时代&#xff0c;众多企业来为了更好地推动业务的发展&#xff0c;常常需要在公司内部搭建一个远程服务器。然而&#xff0c;对于企业员工来说&#xff0c;在工作过程中经常需要与这个服务器进行互动&#xff0c;而服务器位于公司的局域网中&#xf…

活动目录(Active Directory) 管理工具

每个IT管理员几乎每天都在Active Directory管理中面临许多挑战&#xff0c;尤其是在管理Active Directory用户帐户方面。手动配置用户属性非常耗时、令人厌烦且容易出错&#xff0c;尤其是在大型、复杂的 Windows 网络中。Active Directory管理员和IT经理大多必须执行重复和世俗…

20.3 HTML 表格

1. table表格 table标签是HTML中用来创建表格的元素. table标签通常包含以下子标签: - th标签: 表示表格的表头单元格(table header), 用于描述列的标题. - tr标签: 表示表格的行(table row). - td标签: 表示表格的单元格(table data), 通常位于tr标签内, 用于放置单元格中的…

进阶高级测试专项,Pytest自动化测试框架总结(二)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、pyets种有四种…

【2023.7.29】浅谈手办——新人入坑指南

目录 前言入坑指南1.声明2.介绍3.树状图 总结参考文章 前言 出于对动漫的热爱&#xff0c;相信很多人都会买手办&#xff0c;本人在大一时开始入手了第一个手办&#xff0c;超大猿王路飞&#xff08;高约50cm&#xff09;&#xff0c;当时对手办还不是很了解&#xff0c;只知道…

mapboxGL中楼层与室内地图的结合展示

概述 质量不够&#xff0c;数量来凑&#xff0c;没错&#xff0c;本文就是来凑数的。前面的几篇文章实现了楼栋与楼层单体化的展示、室内地图的展示&#xff0c;本文结合前面的几篇文章&#xff0c;做一个综合的展示效果。 实现效果 实现 1. 数据处理 要实现上图所示的效果…