Python Matplotlib绘制曲线图实战:从基础到多项式拟合

夏知夏
夏知夏
发布时间:2026-10-15| 4人浏览过
原创

本文详细介绍如何使用Python的Matplotlib库绘制各类曲线图。通过四个具体实例,演示了电阻随磁场变化、电压随磁场及角度变化的曲线绘制方法,并展示了指定区间内多项式函数的绘图技巧。文章包含完整代码与效果说明,适合初学者快速掌握交互式绘图API的使用。

一、简介

本文采用Python中的matplotlib库来实现曲线图形的绘制。作为著名的Python绘图工具,matplotlib提供了一整套完整的绘图API,非常适合进行交互式数据可视化操作。

二、绘制图形

1、第一个曲线图

代码:

具体的绘制代码如下所示:


import matplotlib.pyplot as plt
import numpy as np

r = np.array([2072.54, 2076.84, 2085.51, 2103.01, 2129.93, 2162.16, 2200.22, 2242.15,
              2285.71, 2328.29, 2350.18, 2364.01, 2364.01, 2343.29, 2300.17, 2252.25,
              2208.72, 2166.85, 2132.19, 2103.01, 2085.51, 2075.77, 2072.54])
b_ = np.array([30.159, 27.143, 24.127, 21.111, 18.096, 15.080, 12.064, 9.048,
              6.032, 3.016, 1.508, 0, -1.508, -3.016, -6.032, -9.048, -12.064,
              -15.080, -18.096, -21.111, -24.127, -27.143, -30.159])
b = b_ * pow(10, -4)


plt.plot(b, r)
plt.xlabel("B/T")
plt.ylabel("R/Ω")
plt.title("GMB R-B (decreasing B)")
plt.show()




效果:

2、第二个图形

代码:

该段代码与前一个示例在结构上高度相似,主要区别在于输入数据的差异:


import matplotlib.pyplot as plt
import numpy as np

r = np.array([2072.53, 2076.81, 2085.47, 2103.00, 2129.90, 2162.11, 2200.20, 2242.06,
              2285.66, 2328.24, 2350.13, 2364.00, 2363.96, 2343.19, 2300.20, 2252.29,
              2208.76, 2166.89, 2132.20, 2103.05, 2085.50, 2075.81, 2072.56])
b_ = np.array([30.159, 27.143, 24.127, 21.111, 18.096, 15.080, 12.064, 9.048,
              6.032, 3.016, 1.508, 0, -1.508, -3.016, -6.032, -9.048, -12.064,
              -15.080, -18.096, -21.111, -24.127, -27.143, -30.159])
b = b_ * pow(10, -4)


plt.plot(b, r)
plt.xlabel("B/T")
plt.ylabel("R/Ω")
plt.title("GMB R-B (increasing B)")
plt.show()




效果:

3、第三个图形

代码:

代码逻辑基本保持一致,核心变化在于更换了所处理的数据集:


import matplotlib.pyplot as plt
import numpy as np

v = np.array([274, 270, 261, 243, 219, 189, 155, 118, 81, 48, 34, 21])
b_ = np.array([30.159, 27.143, 24.127, 21.111, 18.096, 15.080, 12.064, 9.048,
              6.032, 3.016, 1.508, 0])
b = b_ * pow(10, -4)


plt.plot(b, v)
plt.xlabel("B/T")
plt.ylabel("V/mV")
plt.title("GMB V-B")
plt.show()




效果:

4、第四个图形

代码:

代码框架依然沿用之前的模式,主要区别在于使用了不同的数据变量进行绘图:


import matplotlib.pyplot as plt
import numpy as np

w = np.array([43.5, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86,
              89, 92, 95, 98, 101, 104])
v = np.array([0, 5.7, 35.0, 53.8, 45.9, 7.7, -45.7, -51.9, -32.6, -1.8, 34.5, 53.1,
              39.2, -10.1, -47.9, -51.4, -29.5, 5.6, 34.4, 52.4, 40.9, -5.2])


plt.plot(w, v)
plt.xlabel("θ/rad")
plt.ylabel("V/mV")
plt.title("GMB V-θ")
plt.show()




效果:

5.画出指定区间的一个多项式函数:


import numpy as np

import matplotlib.pyplot as plt

X = np.linspace(-4, 4, 1024)

Y = .25 * (X + 4.) * (X + 1.) * (X - 2.)

plt.title('$f(x)=\\frac{1}{4}(x+4)(x+1)(x-2)$')

plt.plot(X, Y, c = 'g')

plt.show()

总结

到此这篇关于利用Python Matplotlib绘制曲线图的文章就介绍到这了,更多相关Python Matplotlib绘制曲线图内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。