【数据分析之道-Matplotlib(五)】Matplotlib柱状图

news2025/5/20 19:20:02

在这里插入图片描述

文章目录

  • 专栏导读
  • 1、matplotlib柱状图基本语法
    • 1.1bar()函数绘制垂直柱状图基本语法
    • 1.2barh()函数绘制垂直柱状图基本语法
  • 2、使用 bar() 来创建一个简单的柱形图
  • 3、垂直方向的柱形图可以使用 barh() 方法来设置
  • 4、设置柱形图颜色
    • 4.1使用单个颜色值
    • 4.2使用颜色列表
  • 5、设置柱形图宽度
    • 5.1使用width参数设置垂直柱形图的宽度
    • 5.2使用height参数设置水平柱形图的高度
  • 6、综合案例

专栏导读

✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。

本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《数据分析案例》 ,《机器学习案例》

😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪

1、matplotlib柱状图基本语法

柱状图(Bar Plot)是一种常用的数据可视化方式,用于显示各个类别之间的比较。在Matplotlib中,可以使用bar()函数或barh()函数来绘制柱状图。

1.1bar()函数绘制垂直柱状图基本语法

使用bar()函数绘制垂直柱状图的基本语法如下:

plt.bar(x, height, width=0.8, align='center', color=None, edgecolor='black')

参数说明:

  • x:表示每个柱的横坐标,可以是一个标量或一个数组。
  • height:表示每个柱的高度,可以是一个标量或一个数组。
  • width:表示每个柱的宽度,默认值为0.8。
  • align:表示柱与横坐标的对齐方式,可选值为 ‘center’、‘edge’,默认值为 ‘center’。
  • color:表示柱的填充颜色,可以是一个颜色名称(如 ‘red’、‘blue’)或一个颜色列表。
  • edgecolor:表示柱的边框颜色,默认值为 ‘black’。

1.2barh()函数绘制垂直柱状图基本语法

使用barh()函数绘制水平柱状图的基本语法如下:

plt.barh(y, width, height=0.8, align='center', color=None, edgecolor='black')

参数说明:

  • y:表示每个柱的纵坐标,可以是一个标量或一个数组。
  • width:表示每个柱的宽度,可以是一个标量或一个数组。
  • height:表示每个柱的高度,默认值为0.8。
  • align:表示柱与纵坐标的对齐方式,可选值为 ‘center’、‘edge’,默认值为 ‘center’。
  • color:表示柱的填充颜色,可以是一个颜色名称(如 ‘red’、‘blue’)或一个颜色列表。
  • edgecolor:表示柱的边框颜色,默认值为 ‘black’。

除了上述的基本参数外,bar()和barh()函数还支持其他参数,如设置标签、调整刻度、添加图例等,以进一步自定义柱状图的样式和布局。

通过设置合适的数据和调整参数,你可以创建出具有各种样式和效果的柱状图,用于展示类别之间的比较、分布等信息。

2、使用 bar() 来创建一个简单的柱形图

import matplotlib.pyplot as plt

# 数据
categories = ['A', 'B', 'C', 'D']
values = [15, 20, 12, 18]

# 绘制柱状图
plt.bar(categories, values)

# 设置标题和坐标轴标签
plt.title('Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')

# 显示图形
plt.show()

在这里插入图片描述

在这个例子中,我们定义了四个类别(A、B、C、D)和对应的数值(15、20、12、18)。然后使用bar()函数绘制了柱状图,categories作为横坐标,values作为纵坐标。
我们还设置了标题和坐标轴标签,分别使用title()、xlabel()和ylabel()函数。
最后,通过show()函数显示图形。

3、垂直方向的柱形图可以使用 barh() 方法来设置

import matplotlib.pyplot as plt

# 数据
categories = ['A', 'B', 'C', 'D']
values = [15, 20, 12, 18]

# 创建垂直柱形图
plt.barh(categories, values)

# 设置标题和坐标轴标签
plt.title('Vertical Bar Chart')
plt.xlabel('Values')
plt.ylabel('Categories')

# 显示图形
plt.show()

在这里插入图片描述

在这个例子中,我们使用barh()方法创建了一个垂直柱形图。与bar()方法相比,我们只需将数据传递给barh()方法,并将类别作为纵坐标。
然后,我们设置了标题和坐标轴标签,分别使用title()、xlabel()和ylabel()方法。
最后,通过show()方法显示图形。

4、设置柱形图颜色

可以使用color参数来设置柱形图的颜色。color参数可以接受单个颜色值或颜色列表,用于指定柱形图的颜色。

4.1使用单个颜色值

import matplotlib.pyplot as plt

categories = ['A', 'B', 'C', 'D']
values = [15, 20, 12, 18]

plt.bar(categories, values, color='blue')

plt.title('Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')

plt.show()

在这里插入图片描述

在上述代码中,我们使用color参数来设置柱形图的颜色。在例子中,我们使用单个颜色值 ‘blue’ 来设置所有柱形的颜色。

4.2使用颜色列表

import matplotlib.pyplot as plt

categories = ['A', 'B', 'C', 'D']
values = [15, 20, 12, 18]
colors = ['red', 'green', 'blue', 'yellow']

plt.bar(categories, values, color=colors)

plt.title('Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')

plt.show()

在这里插入图片描述

在上述代码中,我们使用color参数来设置柱形图的颜色。在第例子中,我们使用颜色列表 [‘red’, ‘green’, ‘blue’, ‘yellow’] 来为每个柱形设置不同的颜色。

5、设置柱形图宽度

可以使用width参数来设置垂直柱形图的宽度,使用height参数来设置水平柱形图的高度。这两个参数可以用于调整柱形的宽度或高度。

5.1使用width参数设置垂直柱形图的宽度

import matplotlib.pyplot as plt

categories = ['A', 'B', 'C', 'D']
values = [15, 20, 12, 18]

plt.bar(categories, values, width=0.5)

plt.title('Vertical Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')

plt.show()

在这里插入图片描述

在这个例子中,我们将width参数设置为0.5,以调整垂直柱形图的宽度。

5.2使用height参数设置水平柱形图的高度

import matplotlib.pyplot as plt

categories = ['A', 'B', 'C', 'D']
values = [15, 20, 12, 18]

plt.barh(categories, values, height=0.5)

plt.title('Horizontal Bar Chart')
plt.xlabel('Values')
plt.ylabel('Categories')

plt.show()

在这里插入图片描述

在这个例子中,我们将height参数设置为0.5,以调整水平柱形图的高度。

6、综合案例

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

fruits = ['apple', 'blueberry', 'cherry', 'orange']
counts = [40, 100, 30, 55]
bar_labels = ['red', 'blue', '_red', 'orange']
bar_colors = ['tab:red', 'tab:blue', 'tab:red', 'tab:orange']

ax.bar(fruits, counts, label=bar_labels, color=bar_colors)

ax.set_ylabel('fruit supply')
ax.set_title('Fruit supply by kind and color')
ax.legend(title='Fruit color')

plt.show()

在这里插入图片描述

首先,我们导入了matplotlib.pyplot模块,并创建了一个Figure对象和一个Axes对象,通过plt.subplots()函数来实现。
接下来,我们定义了水果的种类(fruits)和对应的供应量(counts)。同时,我们定义了柱子的标签(bar_labels)和颜色(bar_colors)。
使用ax.bar()方法来绘制柱状图,传入水果种类、供应量、标签和颜色。label参数用于设置每个柱子的标签,color参数用于设置柱子的颜色。
然后,我们使用ax.set_ylabel()和ax.set_title()方法设置y轴标签和图表标题。
最后,通过ax.legend()方法添加图例,并通过plt.show()显示图形。
这段代码生成的柱状图显示了不同种类和颜色的水果供应量。每个柱子的高度表示对应种类水果的供应量,颜色表示水果的颜色。图例显示了每种颜色所代表的水果。


📢文章下方有交流学习区!一起学习进步!💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗

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

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

相关文章

【Unity】 HTFramework框架(四十四)【进阶篇】指令系统

更新日期:2023年5月29日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 指令系统简单使用定义InstructionAgent编辑指令代码执行指令代码 指令代码语法基本语法指令关键字注释支持的值类型标识符命名规范 进阶使用运行时检视面…

【MySQL】MySQL的事务原理和实现?

文章目录 MySQL事务的底层实现原理一、事务的目的可靠性和并发处理 二、实现事务功能的三个技术2.1 redo log 与 undo log介绍2.1.1 redo log2.1.2undo log 2.2 mysql锁技术2.2.1 mysql锁技术 2.3 MVCC基础 三、事务的实现3.1 原子性的实现3.1.1 undo log 的生成3.1.2 根据undo…

机器视觉陶瓷板智能检测设备在工业质检中的应用

随着工业自动化的不断发展,机器视觉技术在质量控制领域中的应用越来越广泛。在陶瓷制品生产中,机器视觉技术可以帮助企业实现陶瓷板的智能检测,减少人工操作的错误率,提高生产效率和产品质量。本文将介绍机器视觉陶瓷板智能检测设…

4种不改变格式将PDF转Word文档的方法

Microsoft Word 使用户能够按照自己的喜好创建和编辑文档。当用户发现一些PDF资源有助于补充他们的文书工作时,他们可能希望将PDF插入到Word文档中,特别是插入多页PDF文件,以进行编辑或其他目的。将 PDF 插入 Word 文档非常容易,只…

视频剪辑必备,7免费个视频素材库,马住。

请收藏好这6个免费可商用的视频素材网站,以后再也不用为找素材而烦恼了,这些就够了! 菜鸟图库 https://www.sucai999.com/video.html?vNTYxMjky 可以称之为最大素材库,在这里你可以找到设计、办公、图片、视频、音频等各种素材。…

【科普】干货!带你从0了解移动机器人(三) ——自主导航系统及上位机软件设计与实现

随着机器人技术的不断发展,我们可以在许多简单重复,危险的岗位上看到机器人的身影,移动机器人凭借其在复杂环境下工作,具有自行感知、自行规划、自我决策功能的能力,它可以在不同的环境中移动并执行任务,在…

泉州银行:面向业务场景的赋能型数据中台

关 注gzh"大数据食铁兽",了解更多银行大数据案例 案例简介 作为支持数字经济发展和高质量发展的一份子,数字化转型成为泉州银行当前的重要任务。为加强业务场景数据赋能,数据资产共享流通,我行以“数聚、数用、数智”为…

认识Servlet---2

hi,大家好,今天我们继续来认识Servlet 1.更方便的部署方式 2.访问出错的问题分析 3.Servlet的API之HttpServlet 🍨🍨🍨🍨 🍭1.更方便的部署方式 在上一期的讲解中,我们已经完整的创建项目并且编写代码并且得到了验…

Linux之进程地址空间

文章目录 前言一、是什么1.例子2.感性的理解虚拟地址空间3.现象的具体解释4.写时拷贝 二、为什么三、怎么办总结 前言 内存区域划分: 在学习C/C时我们都有接触过内存区域划分这个概念,也知道它表示的是程序加载到内存中不同的数据所分布的不同的区域&a…

阿里云服务器数据盘是什么?系统盘和数据盘区别

阿里云服务器系统盘和数据盘有什么区别?系统盘类似Windows电脑的C盘,数据盘相当于其他盘符,数据盘可以有多个而系统盘只能有一个,数据盘可有可无而云服务器系统盘是必须要有的。阿里云服务器网来详细说下阿里云服务器数据盘和系统…

电子企业MES管理系统解决方案

随着信息技术的飞速发展,电子企业面临着日益复杂的数据管理、生产流程和业务决策等问题。如何应对这些问题并提高企业生产效率已成为电子企业的当务之急。本文旨在探讨电子企业MES管理系统的解决方案,以应对电子企业面临的挑战。 在制定电子企业MES管理…

苹果笔不用原装可以吗?推荐性价比最高的平替苹果笔

苹果Pencil的价格令人难以入手,单支就要接近千元,我实在想不通,这款电容笔怎么会以969元的价格出售?尽管苹果的Pencil性能非常不错,但是我认为它的价值还是不值这个价钱。当前国产的平板电容笔正不断完善中&#xff0c…

华为OD机试之羊、狼、农夫过河(Java源码)

羊、狼、农夫过河 题目描述 羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。农夫有一艘容量固定的船,能够承载固定数量的动物。 要求求出不损失羊情况下将全部羊和狼运到对岸需要的最小次数。只计算…

Zookeeper集群 + Fafka集群

Zookeeper 概述 Zookeeper 定义 Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。 Zookeeper 工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心…

Python3,使用openpyxl进行excel数据对比,反手一个赞。

openpyxl技能 1、引言2、代码实战2.1 安装2.2 代码实战2.2.1 思路2.2.2 代码示例 3、总结 1、引言 小屌丝:鱼哥,我最近在对搞数据对比,你有什么便捷的方法? 小鱼:斗胆问一句,数据量多少? 小屌丝…

lammps教程:Ovito计算RDF方法

本文介绍ovito分析rdf的方法以及参数设置。 专栏已经介绍过多种rdf的计算方法。 如:在in文件中计算rdf: lammps案例:液体平衡态rdf计算模拟练习 编程后处理计算rdf: lammps后处理:python ovito编程计算不同原子对…

Linux运维必备的13款实用工具,你用过吗?

本文介绍几款 Linux 运维比较实用的工具,希望对 Linux 管理员有所帮助。 1、查看进程占用带宽情况-Nethogs Nethogs 是一个终端下的网络流量监控工具可以直观的显示每个进程占用的带宽。 下载:http://sourceforge.net/projects/nethogs/files/nethogs…

Vue+SpringBoot,一款企业级的进销存管理系统,星标2.7k

介绍 Finer 进销存系统是一款面向中小企业的管理软件,基于十多年的中小企业管理经验,由ERP领域的资深专家分析设计;基于J2EE快速开发平台Jeecg-Boot开发,前后端分离架构SpringBoot2.x、Ant Design&Vue、Mybatis-plus、Shiro、…

从零开始搭建属于自己的物联网平台(二)实现基于订阅发布的消息总线

实现基于订阅发布的消息总线 往期链接实现的功能及形式功能设计及代码实现生产者使用redis实现生产者 消费者使用redis实现消费者 配套Subscribe注解实现BeanPostProcessor监听所有的bean创建 EventBus对象 往期链接 从零开始搭建属于自己的物联网平台(一&#xff…

测试类型(单元、集成、系统或手动测试)

测试类型(单元、集成、系统或手动测试) 单元测试 单元是系统的单个组件,例如类或单个方法。孤立地测试单元称为单元测试。 优点:速度快/易控/易写 缺点:缺乏现实性/无法捕获所有错误(例如与其他组件或服务的交互) 单元…