如何在Python中利用matplotlib.pyplot画出函数图详解

 更新时间:2022年08月02日 10:39:10   作者:一见如故的我  
通过图像可以直观地学习函数变化、分布等规律,在学习函数、概率分布等方面效果显著,下面这篇文章主要给大家介绍了关于如何在Python中利用matplotlib.pyplot画出函数图的相关资料,需要的朋友可以参考下

0、引言

为了让用户能够使用python时,方便地绘制 2D 图表,PYTHON的模块中提供Matplotlib模块中所含的子库pyplot,提供了和 MATLAB 类似的绘图功能。Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改。本文通过绘制三角函数cos()来对其中一些重要函数进行讲解。

1、绘图

(1)导入所需库

import numpy as np
import matplotlib.pyplot as plt

# 用于显示中文字符
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

(2)设置函数

t = np.arange(0, 12, 0.01)
s = np.cos(2 * np.pi * t)

(3)plt.figure()

figure()函数用于展开和设置画布相关参数,figure(num, figsize),num设置为数字时为画布编号,字符串时为画布名;figsize用于设置画布大小(长,宽)。两者不是必须设置的,如果没有,会自动生成合适的结果。还有其他一些参数可以设置,但不常用,就不介绍了,想了解的自行搜索相关内容。

plt.figure(num=1, figsize=(10, 10))

(4)plt.plot(),plt.axhline(),plt.axvline(),plt.axhspan(),plt.axvspan()

plot()用于绘制点和线

plt.plot(x, y, format_string, **kwargs),其中:

  • x:X轴数据,列表或数组,可选
  • y:Y轴数据,列表或数组
  • format_string:控制曲线的格式字符串,可选。包括线条的颜色,样式,宽度等
  • **kwargs:第二组或更多(x,y,format_string),可画多条曲线
plt.plot(t, s, color='red', ls='-', label='sinx')

plt.axhline(),plt.axvline()分别用于绘制平行于x轴和y轴的直线,参数设置和plt.plot()相似。

# 画y=o的直线,平行于x轴;
plt.axhline(y=0, color='green', lw=2, label='分割线')
# 画x=4的直线,平行于y轴;
plt.axvline(x=0, color='b', lw=2, label='分割线2')

plt.axhspan(),plt.axvspan()用于绘制垂直于y轴和x轴的参考区域

# 绘制垂直于x轴的参考区域
plt.axhspan(ymin=0, ymax=.1, facecolor='r', alpha=0.2)
plt.axvspan(xmin=0, xmax=1, facecolor='r', alpha=0.2)

(5)设置 x,y 轴的数值范围

plt.axis([xmin, xmax, ymin, ymax])和plt.xlim(xmin, xmax),plt.ylim(ymin, ymax)功能相同,用于设置坐标轴范围;plt.xticks(list(range(xmin, xmax, 刻度间距))),plt.yticks(list(range((ymin, ymax, 刻度间距)))能更加精确地设置自己想要刻度。

# plt.axis([x_min, x_max, y_min, y_max])
# plt.xlim(0, 12)
# plt.ylim(-1, 1)
plt.xticks(list(range(0, 12, 2)))
plt.yticks(list(range(-1, 2, 1)))

(6)设置 x,y 轴的标题文本

plt.xlabel('x轴')
plt.ylabel('y轴')

(7)设置图例和标题

plt.legend()'
plt.title("正弦函数")

plt.legend()要想正常实现功能效果,plt.plot()中label必须设置。

(8)plt.show()

必须有的函数。在关闭show()函数弹出的图像窗口前,show()函数后面的代码不会运行,直到用户关闭图像窗口,才会继续。
完整代码:

import numpy as np
import matplotlib.pyplot as plt

# 用于显示中文字符
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 预设参数
t = np.arange(0, 12, 0.01)
s = np.cos(2 * np.pi * t)
s2 = np.sin(2 * np.pi * t)
# 打开一个画布
plt.figure(num=1, figsize=(10, 10))

# 画函数线,没有label,图例旧无法显示
plt.plot(t, s, color='red', ls='-', label='cosx', )
# 画y=o的直线,平行于x轴;
plt.axhline(y=0, color='green', lw=2, label='分割线')
# 画x=4的直线,平行于y轴;
plt.axvline(x=0, color='b', lw=2, label='分割线2')
# 绘制垂直于x轴的参考区域
plt.axhspan(ymin=0, ymax=.1, facecolor='r', alpha=0.2)
plt.axvspan(xmin=0, xmax=1, facecolor='r', alpha=0.2)

# 设置 x,y 轴的数值范围
# plt.axis([x_min, x_max, y_min, y_max])
# plt.xlim(0, 12)
# plt.ylim(-1, 1)
plt.xticks(list(range(0, 12, 2)))# 可调刻度
plt.yticks(list(range(-1, 2, 1)))
# 设置 x,y 轴的标题文本
plt.xlabel('x轴')
plt.ylabel('y轴')

# 设置图例
#plt.legend(loc='upper left', bbox_to_anchor=(0.2, 0.95))
plt.legend()
plt.title("正弦函数")

# 在关闭show()函数弹出的图像窗口前,show()函数后面的代码不会运行,直到用户关闭图像窗口,才会继续。
plt.show()

2运行结果

总结 

到此这篇关于如何在Python中利用matplotlib.pyplot画出函数图的文章就介绍到这了,更多相关Python matplotlib.pyplot画函数图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一篇文章了解Python中常见的序列化操作

    一篇文章了解Python中常见的序列化操作

    这篇文章主要给大家介绍了软玉Python中常见的序列化操作的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Python创建xml的方法

    Python创建xml的方法

    这篇文章主要介绍了Python创建xml的方法,实例分析了Python操作XML文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Django框架文件上传与自定义图片上传路径、上传文件名操作分析

    Django框架文件上传与自定义图片上传路径、上传文件名操作分析

    这篇文章主要介绍了Django框架文件上传与自定义图片上传路径、上传文件名操作,结合实例形式分析了Django框架文件上传的原理、步骤、实现方法以及图片上传时自定义上传路径、上传文件名的相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • Python通过串口实现收发文件

    Python通过串口实现收发文件

    这篇文章主要为大家详细介绍了Python如何通过串口实现收发文件功能,文中的示例代码简洁易懂,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • Python 中检查一个字符是否为数字的示例代码

    Python 中检查一个字符是否为数字的示例代码

    本文详细介绍了在 Python 中检查一个字符是否为数字的几种常用方法。我们介绍了使用 isdigit() 方法、isnumeric() 方法和正则表达式等方法,并提供了示例代码帮助你理解和应用这些方法,需要的朋友可以参考下
    2023-06-06
  • python 常用的异步框架汇总整理

    python 常用的异步框架汇总整理

    自从python3推出关于异步编程的新语法之后,关于异步web框架也是如雨后春笋一般爆发,关于 异步框架的性能也日渐激烈。今天就整理关于 python 的异步框架。
    2021-06-06
  • Python检查目录是否存在的多种方法

    Python检查目录是否存在的多种方法

    在Python编程中,经常会遇到需要检查某个目录是否存在的场景,例如在进行文件操作、数据存储等任务时,确保目录存在可以避免因目录不存在而导致的错误,Python提供了多种方法来检查目录是否存在,下面将详细介绍这些方法,需要的朋友可以参考下
    2025-07-07
  • pygame面向对象的飞行小鸟实现(Flappy bird)

    pygame面向对象的飞行小鸟实现(Flappy bird)

    这篇文章主要介绍了pygame面向对象的飞行小鸟实现(Flappy bird),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 用map函数来完成Python并行任务的简单示例

    用map函数来完成Python并行任务的简单示例

    这篇文章主要介绍了用map函数来完成Python并行任务的简单示例,多线程和多进程编程的问题一直都是Python中的热点和难点,需要的朋友可以参考下
    2015-04-04
  • python地震数据可视化详解

    python地震数据可视化详解

    这篇文章主要为大家详细介绍了python地震数据可视化的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06

最新评论