PyPlot と Scipy を使用して Python でライン プロットを平滑化する方法

Susan Sarandon
リリース: 2024-11-02 16:04:02
オリジナル
475 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!