Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membuat Garis Licin dalam PyPlot?

Bagaimana untuk Membuat Garis Licin dalam PyPlot?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-01 20:31:29189semak imbas

How to Create Smooth Lines in PyPlot?

Merancang Garis Lancar dengan PyPlot

PyPlot menawarkan pelbagai kaedah untuk menyesuaikan visualisasi data. Satu tugas biasa ialah melicinkan garisan antara titik yang diplot untuk mencipta penampilan yang lebih berterusan. Walaupun membuat garis halus dalam Gnuplot adalah mudah menggunakan pilihan "smooth clines", PyPlot memerlukan pendekatan yang sedikit berbeza.

Smoothing Lines dengan scipy.interpolate

Satu penyelesaian ialah untuk menggunakan modul scipy.interpolate. Modul ini menyediakan alat berkuasa bernama spline, yang boleh menjana lengkung interpolasi dengan memasangkan fungsi spline melalui set titik data. Berikut ialah contoh:

<code class="python">from scipy.interpolate import spline

# 300 represents the number of points to generate between T.min and T.max
xnew = np.linspace(T.min(), T.max(), 300)  

power_smooth = spline(T, power, xnew)

plt.plot(xnew,power_smooth)
plt.show()</code>

Kod ini akan mencipta lengkung yang licin dengan memasang spline melalui titik data asal.

Penyingkiran spline

Perhatikan bahawa dalam versi scipy 0.19.0 dan kemudian, fungsi spline telah ditamatkan. Untuk mengekalkan keserasian, anda boleh menggunakan kelas BSpline seperti yang ditunjukkan di bawah:

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

# 300 represents the number of points to generate between T.min and T.max
xnew = np.linspace(T.min(), T.max(), 300) 

spl = make_interp_spline(T, power, k=3)  # type: BSpline
power_smooth = spl(xnew)

plt.plot(xnew, power_smooth)
plt.show()</code>

Atas ialah kandungan terperinci Bagaimana untuk Membuat Garis Licin dalam PyPlot?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn