Memplot Garis Lancar dalam PyPlot
Masalah:
Apabila memplot graf menggunakan PyPlot , garis penghubung antara titik data mungkin kelihatan tegar dan tidak berterusan. Ini boleh menjadi tidak diingini dalam senario tertentu.
Soalan:
Bagaimana untuk melicinkan garis penghubung dalam graf PyPlot?
Penyelesaian:
Untuk mencapai garisan yang lebih lancar, seseorang boleh menggunakan teknik interpolasi spline scipy. Begini caranya:
<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>
Nota: Fungsi 'spline' dalam scipy ditamatkan dalam versi 0.19.0. Gunakan kelas 'BSpline' sebaliknya. Berikut ialah versi yang dikemas kini:
<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>
Argumen 'k' dalam 'make_interp_spline' mengawal kelancaran spline. Nilai 'k' yang lebih tinggi menghasilkan garisan yang lebih licin.
Plot yang terhasil akan mempamerkan garis penghubung yang lancar antara titik data, memberikan perwakilan data yang lebih menarik secara visual.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Garis Lancar dalam Graf PyPlot?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!