Python中Matplotlib库的使用(二)—— Pyplot模块

Pyplot模块

简介

matplotlib.pyplot 是一个函数集合,使得Matplotlib的使用方式类似于MATLAB。每个pyplot函数都会对图形进行一些修改,例如创建图形、在图形中创建绘图区域、在绘图区域中绘制线条、为图形添加标签等。

matplotlib.pyplot中,各种状态在函数调用之间被保留,以便它能够跟踪诸如当前图形、绘图区域等,而绘图函数会指向当前坐标轴(请注意,这里和文档中大多数地方所说的“axes”指的是图形的坐标轴部分,而不是严格的数学术语,表示多个轴)。

使用pyplot生成可视化非常快速:

import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show()

之所以x轴范围是0-3,而y轴范围是1-4,是因为如果向plot提供一个单一的列表或数组,Matplotlib会假设它是一系列的y值,并自动为你生成x值。由于Python的范围从0开始,所以默认的x向量与y的长度相同,但从0开始;因此,x的数据是[0, 1, 2, 3]。

pyplot

plot是一个多功能的函数,可以接受任意数量的参数。例如,要绘制x和y的关系,你可以这样写:

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])

通过这段代码,你可以看到如何使用pyplot绘制简单的线图。首先导入matplotlib.pyplot,然后使用plt.plot()绘制数据,最后通过plt.show()显示图形。在这个示例中,我们绘制了一个包含指定y值的线图,自动生成对应的x值。这个过程非常简洁和快速。

格式化绘图样式

对于每一组x、y参数,都有一个可选的第三个参数,它是格式字符串,用于指示绘图的颜色线条类型。格式字符串的字母和符号来自于MATLAB,你可以将颜色字符串与线条样式字符串连接在一起。默认的格式字符串是’b-',表示实心的蓝色线条。例如,要绘制带有红色圆点的图形,你可以使用以下代码:

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()

pyplot

该示例中的axis函数接受一个由[xmin, xmax, ymin, ymax]组成的列表,用于指定坐标轴的视口范围。

完整的样式使用可以参考文档:matplotlib.pyplot.plot — Matplotlib 3.7.2 documentation

如果Matplotlib仅限于使用列表进行操作,那么它在数值处理方面将会相当无用。通常,您会使用NumPy数组。实际上,所有的序列在内部都会被转换为NumPy数组。下面的示例演示了如何在一个函数调用中使用数组来绘制具有不同格式样式的多条线:

import matplotlib.pyplot as plt
import numpy as np

# 设置全局字体为支持中文的字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定微软雅黑或其他中文字体

# 创建一个均匀取样的时间间隔,间隔为0.2
t = np.arange(0., 5., 0.2)

# 使用不同格式样式绘制多条线
plt.plot(t, t, 'r--', label='线性')      # 红色虚线
plt.plot(t, t**2, 'bs', label='平方')   # 蓝色方块
plt.plot(t, t**3, 'g^', label='立方')   # 绿色三角形

# 设置x轴标签和y轴标签
plt.xlabel('X轴')
plt.ylabel('Y轴')

# 添加图例
plt.legend()

# 添加标题
plt.title('不同格式样式的多条线')

# 显示图形
plt.show()

在这里插入图片描述

使用关键字字符串进行绘图

在某些情况下,可能拥有的数据格式允许通过字符串访问特定的变量。例如,使用numpy.recarraypandas.DataFrame

Matplotlib允许通过data关键字参数提供这样的数据对象。当使用关键字字符串绘制图形时,可以直接使用数据对象中的变量

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值