目录
  • 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时,方便地绘制 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画出函数图详解

      总结 

      声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。