软件测试|使用matplotlib绘制多种柱状图

简介

在数据可视化领域,Matplotlib是一款强大的Python库,它可以用于创建多种类型的图表,包括柱状图。本文将介绍如何使用Matplotlib创建多种不同类型的柱状图,并提供示例代码。

创建基本柱状图

首先,让我们创建一个基本的柱状图,以可视化一组数据的比较。假设我们有一个产品销售数据集,我们希望将不同产品的销售额进行比较:

python 复制代码
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'FangSong'

# 数据
products = ['产品A', '产品B', '产品C', '产品D', '产品E']
sales = [5000, 8000, 7500, 6000, 9000]

# 创建柱状图
plt.bar(products, sales)

# 添加标题和标签
plt.title('不同产品的销售额比较')
plt.xlabel('产品')
plt.ylabel('销售额(元)')

# 显示图表
plt.show()

上述代码首先导入Matplotlib库,然后创建了一个包含产品名称和销售额的数据集。接下来,使用plt.bar()函数创建柱状图,然后使用plt.title()plt.xlabel()plt.ylabel()函数添加标题和标签。最后,使用plt.show()函数显示图表。

运行脚本,生成的图像如下:

创建堆叠柱状图

有时,我们希望将不同类别的数据叠加在同一个柱子上,以便更好地比较总体趋势。以下是一个示例,展示了两个月份的产品销售额,堆叠在同一个柱子上:

python 复制代码
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'FangSong'

# 数据
months = ['一月', '二月', '三月', '四月', '五月']
product1_sales = [5000, 6000, 5500, 7000, 8000]
product2_sales = [3000, 4000, 3500, 4500, 5000]

# 创建堆叠柱状图
plt.bar(months, product1_sales, label='产品1')
plt.bar(months, product2_sales, bottom=product1_sales, label='产品2')

# 添加标题和标签
plt.title('两个产品的销售额比较')
plt.xlabel('月份')
plt.ylabel('销售额(元)')

# 添加图例
plt.legend()

# 显示图表
plt.show()

上述代码中,我们使用plt.bar()函数分别创建了两个产品的销售额柱状图,并使用bottom参数将第二个产品的销售额叠加在第一个产品的上面。然后,使用plt.legend()函数添加图例,以区分不同产品的销售额。

创建水平柱状图

有时,我们希望创建水平方向的柱状图,以便更好地展示长条形数据。以下是一个示例,展示如何创建水平柱状图:

python 复制代码
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'FangSong'

import matplotlib.pyplot as plt

# 数据
categories = ['类别A', '类别B', '类别C', '类别D', '类别E']
values = [40, 30, 25, 35, 45]

# 创建水平柱状图
plt.barh(categories, values)

# 添加标题和标签
plt.title('不同类别的数值比较')
plt.xlabel('数值')
plt.ylabel('类别')

# 显示图表
plt.show()

上述代码中,我们使用plt.barh()函数创建了水平柱状图,然后使用plt.title()plt.xlabel()plt.ylabel()函数添加标题和标签。

总结

Matplotlib是一个强大的数据可视化工具,可以用于创建多种类型的柱状图以及其他图表。在本文中,我们演示了如何创建基本柱状图、堆叠柱状图和水平柱状图,并提供了示例代码,希望这些示例有助于你更好地使用Matplotlib进行数据可视化。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
踏着七彩祥云的小丑2 小时前
pytest——Mark标记
开发语言·python·pytest
Dream of maid2 小时前
Python12(网络编程)
开发语言·网络·php
W23035765733 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
Y4090013 小时前
【多线程】线程安全(1)
java·开发语言·jvm
不爱吃炸鸡柳3 小时前
Python入门第一课:零基础认识Python + 环境搭建 + 基础语法精讲
开发语言·python
minji...4 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
Dxy12393102164 小时前
Python基于BERT的上下文纠错详解
开发语言·python·bert
SiYuanFeng5 小时前
Colab复现 NanoChat:从 Tokenizer(CPU)、Base Train(CPU) 到 SFT(GPU) 的完整踩坑实录
python·colab
wjs20246 小时前
JavaScript 语句
开发语言