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

2022-08-02 11:48:16
目录
0、引言1、绘图(1)导入所需库(2)设置函数(3)plt.figure()(4)plt.plot(),plt.axhline(),plt.axvline(),plt.axhspan(),plt.axvspan()(5)设置 x,y 轴的数值范围(6)设置 x,y 轴的标题文本(7)设置图例和标题(8)plt.show()2运行结果总结 

0、引言

为了让用户能够使用python时,方便地绘制>

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,>

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

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

plot()用于绘制点和线

plt.plot(x,>

    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)设置>

    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)设置>
    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画函数图内容请搜索易采站长站以前的文章或继续浏览下面的相关文章希望大家以后多多支持易采站长站!