如何在 PyPlot 圖中建立平滑線?

Patricia Arquette
發布: 2024-11-01 17:48:30
原創
604 人瀏覽過

How to Create a Smooth Line in a PyPlot Graph?

在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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!