Python matplotlib基础绘图与多子图绘制详解

Owen
Owen
发布时间:2026-10-13 | 2人浏览过
原创

本文介绍Python中matplotlib库的基础绘图功能,详细解析plot函数的关键字参数如label、color及linewidth等用法,并深入讲解subplot函数如何划分绘图区域以绘制多轴图,帮助开发者掌握图表定制与布局技巧。

本文通过具体实例展示如何利用Python的matplotlib库完成基础绘图任务,供读者参考学习。

基础示例

# -*- coding:utf-8 -*-
#!python3
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,10,101)  #设置起始及终点,以及点的数量
y = np.sin(x)        #调用numpy库的sin函数
z = np.cos(x**2)
plt.figure(figsize=(8,6))  #设置图像的大小
plt.plot(x,y,label="$y=sin(x)$",color = "red",linewidth=2)      #设置图像属性,$表示将公式格式化
plt.plot(x,z,label="$y=cos(x**2)$")
plt.xlabel("Times/s")    #设置图像的横纵坐标的名称及单位
plt.ylabel("Volt/v")
plt.title("Demo")
plt.ylim(-1.2,1.2) #设置y的范围
plt.legend()
plt.show()         #显示图像

执行上述代码后,生成的曲线如下图所示:

plot函数的调用方式具有高度灵活性,

在plt.plot(x,y,label="$y=sin(x)$",color = "red",linewidth=2)将x和y数组传入plot函数后,可通过关键字参数设定各项属性:

  • label:为绘制的曲线指定名称,该名称将显示在图例(legend)中。若字符串前后添加”$”符号,matplotlib将调用内置的LaTeX引擎渲染数学公式。
  • color:用于指定曲线的颜色。
  • linewidth:用于设定曲线的宽度。
  • xlabel:用于设置x轴的文字标签。
  • ylabel:用于设置y轴的文字标签。
  • title:用于设置图表的标题。
  • ylim:用于限定y轴的显示范围。
  • legend:用于在图中显示图例。
  • show():用于在屏幕上显示所有生成的图像。

多轴图绘制

这相当于在同一个绘图区域内绘制多个子图,使用的函数为subplot(numRows, numCols, plotNum)。

subplot将整个绘图区域划分为numRows行乘以numCols列的子区域,并按从左到右、从上到下的顺序对每个子区域进行编号,左上角子区域的编号为1。当numRows、numCols和plotNum三个数值均小于10时,可合并为一个整数进行缩写,例如subplot(323)与subplot(3,2,3)效果相同。该函数会在plotNum指定的区域创建一个坐标轴对象;若新创建的坐标轴与已存在的坐标轴重叠,原有坐标轴将被移除。

以下程序示例可将绘图空间划分为颜色各异的六个部分:

# -*- coding:utf-8 -*-
#!python3
import matplotlib.pyplot as plt
for idx, color in enumerate("rgbyck"):
  plt.subplot(320+idx+1, axisbg=color)
plt.show()

运行结果如下:

如需了解更多Python相关内容,可参考本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》。

希望本文所述内容能对大家的Python程序设计有所帮助。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表