python 画条形图(柱状图)

目录

前言

基础介绍

月度开支的条形图


前言

条形图(bar chart),也称为柱状图,是一种以长方形的长度为变量的统计图表,长方形的长度与它所对应的变量数值呈一定比例。

当使用 Python 画条形图时,通常会使用 Matplotlib 库。Matplotlib 是一个广泛用于绘制图表和数据可视化的库,它提供了丰富的函数和方法来创建各种类型的图表,包括条形图。

Matplotlib 是一个用于绘制数据可视化图表的 Python 库。它提供了一个广泛的功能集,使得用户可以创建各种类型的图表,包括折线图、散点图、条形图、饼图、直方图等等。Matplotlib 可以轻松地将数据转换为可视化图表,帮助我们更好地理解和分析数据。

Matplotlib 库的主要特点和功能:

  1. 简单易用:Matplotlib 提供了直观的 API,使得创建基本图表变得简单而直接。
  2. 灵活性:Matplotlib 允许用户对图表进行高度定制,包括设置标题、标签、刻度线、线型、颜色、图例等等。
  3. 多种图表类型:Matplotlib 支持众多常见的图表类型,如折线图、散点图、条形图、饼图、直方图、盒图等等。
  4. 支持多种输出格式:Matplotlib 可以将图表保存为图片文件(如 PNG、JPG、SVG)、PDF 文件以及其他常见的图像格式。
  5. 与 NumPy 和 Pandas 集成:Matplotlib 与 NumPy 和 Pandas 库完美集成,使得数据的处理和可视化更加便捷。
  6. 支持 Jupyter Notebook:Matplotlib 可以在 Jupyter Notebook 环境中无缝使用,使得数据分析和可视化更加交互性和动态化。

基础介绍

import matplotlib.pyplot as plt# 数据
categories = ['A', 'B', 'C', 'D', 'E']
values = [7, 13, 5, 17, 10]# 创建条形图
plt.bar(categories, values, color='skyblue')# 添加标题和标签
plt.title('Example Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')# 显示条形图
plt.show()
  • 使用 Matplotlib 创建了一个简单的条形图,并对其进行了一些定制。
  • 首先,我们导入 Matplotlib 库,并使用 import matplotlib.pyplot as plt 将其重命名为 plt,以方便后续使用。
  • 定义了两个列表变量 categoriesvalues,分别表示条形图的类别和对应的数值。在这个例子中,类别包括 'A'、'B'、'C'、'D'、'E',对应的数值分别是 7、13、5、17、10。
  • 使用 plt.bar(categories, values, color='skyblue') 创建了一个条形图。plt.bar 函数的第一个参数是类别列表 categories,第二个参数是对应的数值列表 values,通过这两个参数可以指定条形图的类别和高度。我们还通过 color='skyblue' 参数设置了条形的颜色为天蓝色。
  • 使用 plt.title('Example Bar Chart') 添加了一个标题,将图表的标题设置为 'Example Bar Chart'。使用 plt.xlabel('Categories')plt.ylabel('Values') 分别添加了 x 轴和 y 轴的标签,将 x 轴标签设置为 'Categories',y 轴标签设置为 'Values'。
  • 使用 plt.show() 显示生成的条形图。这个函数会打开一个窗口显示图表,你可以对图表进行交互操作,如放大、保存为图片等。

效果图:

月度开支的条形图

import matplotlib.pyplot as plt# 月份和开支数据
months = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
expenses = [2000, 2200, 2500, 1800, 2100, 2400, 2300, 2100, 1900, 2000, 2200, 2300]# 创建条形图
plt.bar(months, expenses, color='skyblue')# 添加标题和标签
plt.title('月度开支')
plt.xlabel('月份')
plt.ylabel('开支(元)')# 旋转 x 轴标签
plt.xticks(rotation=45)# 显示条形图
plt.show()
  • 用 Matplotlib 创建了一个月度开支的条形图,并对其进行了一些定制。
  • 导入了 Matplotlib 库,并使用 import matplotlib.pyplot as plt 将其重命名为 plt,以方便后续使用。
  • 定义了两个列表变量 monthsexpenses,分别表示月份和对应的开支数据。其中,months 包括了一年中的所有月份,而 expenses 则包含了每个月的开支金额。
  • 然后,我们使用 plt.bar(months, expenses, color='skyblue') 创建了一个条形图。plt.bar 函数的第一个参数是月份列表 months,第二个参数是对应的开支数据列表 expenses。我们还通过 color='skyblue' 参数设置了条形的颜色为天蓝色。
  • 使用 plt.title('月度开支') 添加了一个标题,将图表的标题设置为 '月度开支'。使用 plt.xlabel('月份')plt.ylabel('开支(元)') 分别添加了 x 轴和 y 轴的标签,将 x 轴标签设置为 '月份',y 轴标签设置为 '开支(元)'。
  • 还使用了 plt.xticks(rotation=45) 将 x 轴的标签进行了旋转,使得月份的文字能够更好地展示并避免重叠。
  • 使用 plt.show() 显示生成的条形图。这个函数会打开一个窗口显示图表,你可以对图表进行交互操作,如放大、保存为图片等。

效果图:

在这里我们看到没有显示中文,而是不知名的乱码,嘶需要进行代码修改,添加以下代码

 # 设置中文字体和禁用Unicode减号
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

import matplotlib.pyplot as plt# 设置中文字体和禁用Unicode减号
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 月份和开支数据
months = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
expenses = [2000, 2200, 2500, 1800, 2100, 2400, 2300, 2100, 1900, 2000, 2200, 2300]# 创建条形图
plt.bar(months, expenses, color='skyblue')# 添加标题和标签
plt.title('月度开支')
plt.xlabel('月份')
plt.ylabel('开支(元)')# 旋转 x 轴标签
plt.xticks(rotation=45)# 显示条形图
plt.show()

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

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

相关文章

vscode 编译运行c++ 记录

一、打开文件夹,新建或打开一个cpp文件 二、ctrl shift p 进入 c/c配置 进行 IntelliSense 配置。主要是选择编译器、 c标准, 设置头文件路径等,配置好后会生成 c_cpp_properties.json; 二、编译运行: 1、选中ma…

zabbix 通过 odbc 监控 mssql

1、环境 操作系统:龙蜥os 8.0 zabbix:6.0 mssql:2012 2、安装odbc 注意:需要在zabbix server 或者 zabbix proxy 安装 odbc驱动程序 dnf -y install unixODBC unixODBC-devel3、安装mssql驱动程序 注意:我最开始尝试…

Tomcat管理功能使用

前言 Tomcat管理功能用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。在默认情况下是处于禁用状态的。如果需要开启这个功能,需要配置管理用户,即配置tomcat-users.xml文件。 !!!注意:测试功…

react 学习笔记 李立超老师 | (学习中~)

文章目录 react学习笔记01入门概述React 基础案例HelloWorld三个API介绍 JSXJSX 解构数组 创建react项目(手动)创建React项目(自动) | create-react-app事件处理React中的CSS样式内联样式 | 内联样式中使用state (不建议使用)外部样式表 | CSS Module React组件函数式组件和类组…

不同品牌的手机如何投屏到苹果MacBook?例如小米、华为怎样投屏比较好?

习惯使用apple全家桶的人当然知道苹果手机或iPad可以直接用airplay投屏到MacBook。 但工作和生活的多个场合里,并不是所有人都喜欢用同一品牌的设备,如果同事或同学其他品牌的手机需要投屏到MacBook,有什么方法可以快捷实现? 首先…

【GDB】

GDB 1. GDB调试器1.1 前言1.2 GDB编译程序1.3 启动GDB1.4 载入被调试程序1.5 查看源码1.6 运行程序1.7 断点设置1.7.1 通过行号设置断点1.7.2 通过函数名设置断点1.7.3 通过条件设置断点1.7.4 查看断点信息1.7.5 删除断点 1.8 单步调试1.9 2. GDB调试core文件2.1 设定core文件的…

(五)五种最新算法(SWO、COA、LSO、GRO、LO)求解无人机路径规划MATLAB

一、五种算法(SWO、COA、LSO、GRO、LO)简介 1、蜘蛛蜂优化算法SWO 蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为&…

iOS(swiftui)——系统悬浮窗( 可在其他应用上显示,可实时更新内容)

因为ios系统对权限的限制是比较严格的,ios系统本身是不支持全局悬浮窗(可在其他app上显示)。在iphone14及之后的iPhone机型中提供了一个叫 灵动岛的功能,可以在手机上方可以添加一个悬浮窗显示内容并实时更新,但这个功能有很多局限性 如:需要iPhone14及之后的机型且系统…

Java面试遇到的一些常见题

目录 1. Java语言有几种基本类型,分别是什么? 整数类型(Integer Types): 浮点类型(Floating-Point Types): 字符类型(Character Type): 布尔类…

(六)五种最新算法(SWO、COA、LSO、GRO、LO)求解无人机路径规划MATLAB

一、五种算法(SWO、COA、LSO、GRO、LO)简介 1、蜘蛛蜂优化算法SWO 蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为&…

【完整项目】双模式答题卡识别软件中YOLO模式的训练部分详解,包括训练填涂区域和手写准考证号,手把手详细教学,可延申拓展训练其他图像数据

目录 前言1. 数据准备2. 数据标注3. 先跑起来Windows下用本地的CPU或GPU训练本地Windows系统连接服务器训练前言 前文:【完整项目】基于Python+Tkinter+OpenCV+Yolo+手写OCR的双模式答题卡识别软件的设计与实现 如果你需要训练自己的答题卡模型,那么请先看上面的文章链接。…

Flutter自定义下拉选择框dropDownMenu

利用PopupMenuButton和PopupMenuItem写了个下拉选择框,之所以不采用系统的,是因为自定义的更能适配项目需求,话不多说,直接看效果 下面直接贴出代码、代码中注释写的都很清楚,使用起来应该很方便,如果有任何…

OpenSSL 编程指南

目录 前言初始化SSL库创建SSL 上下文接口(SSL_CTX)安装证书和私钥加载证书(客户端/服务端证书)加载私钥/公钥加载CA证书设置对端证书验证例1 SSL服务端安装证书例2 客户端安装证书创建和安装SSL结构建立TCP/IP连接客户端创建socket服务端创建连接创建SSL结构中的BIOSSL握手服务…

Scrum

Scrum是一个用于开发和维持复杂产品的框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周(互联网产品研发可以使用1周的Sprin…

【Linux】输出缓冲区和fflush刷新缓冲区

目录 一、输出缓冲区 1.1 输出缓冲区的使用 1.2 缓冲区的刷新 1.3 输出缓冲区的作用 二、回车换行 一、输出缓冲区 C/C语言,当调用输出函数(如printf()、puts()、fwrite()等)时,会给我们提供默认的缓冲区。这些数据先存…

虚拟机安装 hyper—v 沙盒

一、下载系统镜像 1、确认电脑内存在8G及以上并提前准备完整的系统镜像 安装Hyper-V并重启电脑后打开程序选择虚拟机 选择安装位置并设置保留第一代的虚拟参数即可开始分配内存,根据自己的需求进行设置 右键虚拟机启动并开始运行,进行镜像系统的安装便完…

牛客算法心得——环形数组的连续子数组最大和(dp)

大家好,我是晴天学长, 一个找连续子数组最大和的变形题,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .环形数组的连续子数组的最大和 描述 给定一个长度为 nn 的环形整数数组&…

『 MySQL数据库 』聚合统计

文章目录 前言 🥑🥝 聚合函数🍓 COUNT( ) 查询数据数量🍓 SUM( ) 查询数据总和🍓 AVG( ) 查询数据平均值🍓 MAX( ) 查询数据最大值🍓 MIN( ) 查询数据最小值 🥝 数据分组GROUP BY子句…

湖科大计网:计算机网络概述

一、计算机网络的性能指标 一、速率 有时候数据量也认为是以10为底的,看怎么好算。(具体吉大考试用什么待商榷) 二、带宽 在模拟信号系统中带宽的含义,本课程中用到的地方是:香农定理和奈奎斯特定理公式的应用之中。 …

全面高压化与全面超快充,破解新能源汽车的时代难题

是什么让新能源车主感到疲惫与焦虑?是什么阻挡更多消费者选择新能源汽车?我们在身边进行一个简单的调查就会发现,问题的答案非常一致:充电。 充电难,充电慢的难题,始终是困扰新能源汽车产业发展&#xff0c…