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>
平滑之前:
平滑后:
或者,您可以使用 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中文网其他相关文章!