在PyPlot 中繪製平滑線
問題:
問題:問題:
使用圖形資料點之間的連接線可能會顯得僵硬且不連續。在某些情況下,這可能是不可取的。
問題:<code class="python">import matplotlib.pyplot as plt import numpy as np import scipy.interpolate 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]) # Create a dense array of points for interpolation xnew = np.linspace(T.min(), T.max(), 300) # Interpolate the data using a cubic spline power_smooth = scipy.interpolate.spline(T, power, xnew) # Plot the smoothed line plt.plot(xnew, power_smooth) plt.show()</code>如何平滑 PyPlot 圖中的連接線?
解:
<code class="python">from scipy.interpolate import make_interp_spline, BSpline # Create a dense array of points for interpolation xnew = np.linspace(T.min(), T.max(), 300) # Create a B-spline interpolation object spl = make_interp_spline(T, power, k=3) # type: BSpline # Evaluate the interpolation at the new points power_smooth = spl(xnew) # Plot the smoothed line plt.plot(xnew, power_smooth) plt.show()</code>
為了獲得更平滑的線條,可以利用 scipy 的樣條插值技術。具體方法如下:
注意: scipy 中的 'spline' 函數在 0.19.0 版本中已棄用。請改用“BSpline”類別。這是更新版本:「make_interp_spline」中的「k」參數控制樣條線的平滑度。 「k」值越高,線條越平滑。 產生的圖將在資料點之間呈現平滑的連接線,從而提供更具視覺吸引力的資料表示。以上是如何在 PyPlot 圖中建立平滑線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!