首页  >  文章  >  后端开发  >  如何使用 PyPlot 和 Scipy 在 Python 中平滑线图?

如何使用 PyPlot 和 Scipy 在 Python 中平滑线图?

Susan Sarandon
Susan Sarandon原创
2024-11-02 16:04:02444浏览

使用 PyPlot 平滑线图

PyPlot 的默认线图方法用直线连接数据点。这种方法可能会导致锯齿状线条,尤其是在处理大型数据集时。幸运的是,有一种简单的方法可以使用 scipy.interpolate.spline 平滑这些线条。

<code class="python"># Import necessary libraries
import matplotlib.pyplot as plt
import numpy as np
from scipy.interpolate import spline

# Define data arrays
T = np.array([6, 7, 8, 9, 10, 11, 12])
power = np.array([1.53E+03, 5.92E+02, 2.04E+02, 7.24E+01, 2.72E+01, 1.10E+01, 4.70E+00])

# Generate a smoothed spline
xnew = np.linspace(T.min(), T.max(), 300)
power_smooth = spline(T, power, xnew)

# Plot the smoothed line
plt.plot(xnew, power_smooth)
plt.show()</code>

平滑之前:
How to Smooth a Line Plot in Python using PyPlot and Scipy?

平滑后:
How to Smooth a Line Plot in Python using PyPlot and Scipy?

或者,您可以使用 scipy.interpolate.make_interp_spline 中的 BSpline 以获得更现代的方法:

<code class="python"># Import make_interp_spline and BSpline
from scipy.interpolate import make_interp_spline, BSpline

# Generate a smoothed spline using BSpline
spl = make_interp_spline(T, power, k=3)
power_smooth = spl(xnew)

# Plot the smoothed line
plt.plot(xnew, power_smooth)
plt.show()</code>

以上是如何使用 PyPlot 和 Scipy 在 Python 中平滑线图?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn