30 Python的matplotlib模块

概述

在上一节,我们介绍了Python的pandas模块,包括:Series、DataFrame、数据读取和写入等内容。在这一节,我们将介绍Python的matplotlib模块。matplotlib模块是一个Python的2D绘图库,可以实现各种类型的图形绘制,包括:线图、柱状图、饼图、散点图等。matplotlib支持各种格式的输出,比如:PNG、SVG、PDF等,可以很方便地将图形输出到文件或在屏幕上显示。

在Python中使用matplotlib模块,需要先安装matplotlib库。可以通过pip命令进行安装:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib。安装完成后,就可以在Python脚本中导入matplotlib模块,并使用其函数和方法了。

线图

在下面的示例代码中,我们首先引入了Matplotlib的pyplot模块,并定义了x、y两个列表。然后,使用plt.plot(x, y)函数绘制了一条线。最后,通过plt.show()函数显示图形。

python 复制代码
import matplotlib.pyplot as plt

x = [1, 3, 5, 7, 9]
y = [1, 9, 25, 49, 81]

plt.plot(x, y)
plt.show()

执行上面的示例代码后,其输出如下。

除了基本的绘图函数,Matplotlib还提供了许多参数设置功能,可以自定义图形的各种属性,比如:颜色、线型、刻度、标签等。下面的示例代码绘制了一条黄色的线,并设置了X轴和Y轴的标签。

python 复制代码
import matplotlib.pyplot as plt

x = [1, 3, 5, 7, 9]
y = [1, 9, 25, 49, 81]

plt.plot(x, y, color = 'yellow')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.show()

执行上面的示例代码后,其输出如下。

柱状图

在下面的示例代码中,我们使用plt.bar()函数绘制了一个简单的柱状图,并传入了标签和相应的数值,图形中的每个柱子都对应一个标签和一个数值。

python 复制代码
import matplotlib.pyplot as plt

labels = ['C', 'S', 'D', 'N']
values = [36, 50, 22, 65]

plt.bar(labels, values)
plt.show()

执行上面的示例代码后,其输出如下。

饼图

在下面的示例代码中,我们使用plt.pie()函数绘制了一个简单的饼图,并传入了标签和相应的数值。plt.pie()函数有如下几个参数,分别进行介绍。

sizes:表示每个部分的大小,它将自动根据这些大小生成饼图。

labels:表示每个部分的标签。

autopct:用于显示每个部分的百分比,格式由参数值决定。在本例中,它显示的是百分比的小数形式,保留两位小数。

python 复制代码
import matplotlib.pyplot as plt

labels = ['C', 'S', 'D', 'N']
values = [36, 50, 22, 65]

# 保留两位小数
plt.pie(values, labels = labels, autopct = '%1.2f%%') 
# 确保饼图是圆的(即x轴和y轴的比例相同)  
plt.axis('equal')
plt.show()

执行上面的示例代码后,其输出如下。

散点图

在下面的示例代码中,我们使用plt.scatter(x, y)函数创建了散点图。该函数接受两个参数:x和y坐标列表。然后,我们使用plt.title()、plt.xlabel()、plt.ylabel()函数为散点图添加了标题和轴标签。

python 复制代码
import matplotlib.pyplot as plt
import numpy as np

# 生成一些随机数据
x = np.random.rand(30)
y = np.random.rand(30)

# 创建散点图
plt.scatter(x, y)

# 添加标题和轴标签
plt.title('Scatter Plot Demo')
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')

plt.show()

执行上面的示例代码后,其输出如下。

添加文本及矩形

对于定制化需求,Matplotlib模块提供了大量的参数和API供用户自定义图形。比如:可以设置图形的标题、标签、颜色、线型、刻度等属性,也可以添加文本、散点、矩形等图形元素。

在下面的示例代码中,我们首先使用plt.text函数添加了文本。然后,使用plt.Rectangle函数来创建一个矩形对象,并使用ax.add_patch函数将它添加到图形上。矩形的位置和大小由它的四个参数决定:左下角的x和y坐标、矩形的宽度和高度。另外,我们还可以设置矩形的颜色和线宽。最后,我们设置x和y轴的限制,以便全部的矩形都能被显示出来。

python 复制代码
import matplotlib.pyplot as plt

x = [1, 3, 5, 7, 9]
y = [1, 9, 25, 49, 81]

plt.plot(x, y)

# 添加文本
plt.text(5, 36, 'CSDN', fontsize = 12)

# 添加矩形
fig, ax = plt.subplots()
rect = plt.Rectangle((3, 3), 6, 9, fill = True, edgecolor = 'red', linewidth = 2)
ax.add_patch(rect)

# 设置x和y轴的限制,以便显示全部的矩形
ax.set_xlim(0, 15)
ax.set_ylim(0, 15)

plt.show()

执行上面的示例代码后,其输出如下。

相关推荐
沃洛德.辛肯18 分钟前
PyTorch 的 F.scaled_dot_product_attention 返回Nan
人工智能·pytorch·python
noravinsc30 分钟前
人大金仓数据库 与django结合
数据库·python·django
豌豆花下猫37 分钟前
Python 潮流周刊#102:微软裁员 Faster CPython 团队(摘要)
后端·python·ai
yzx9910131 小时前
Gensim 是一个专为 Python 设计的开源库
开发语言·python·开源
麻雀无能为力1 小时前
python自学笔记2 数据类型
开发语言·笔记·python
Ndmzi2 小时前
matlab与python问题解析
python·matlab
懒大王爱吃狼2 小时前
怎么使用python进行PostgreSQL 数据库连接?
数据库·python·postgresql
猫猫村晨总2 小时前
网络爬虫学习之httpx的使用
爬虫·python·httpx
web150854159352 小时前
Python线性回归:从理论到实践的完整指南
python·机器学习·线性回归
ayiya_Oese2 小时前
[训练和优化] 3. 模型优化
人工智能·python·深度学习·神经网络·机器学习