ในการวาดเส้นเรียบ (smooth line) ด้วย matplotlib สามารถทำตามขั้นตอนดังนี้:
ขั้นตอน
ตั้งค่าขนาดรูปและปรับ padding ระหว่างและรอบ subplots
สร้างรายการข้อมูล x และ y
วาดข้อมูล x และ y
สร้าง x_new และ bspline สำหรับเส้นเรียบ
ได้ y_new คำนวณ coefficients ของ interpolating B-spline
วาด x_new และ y_new ด้วยเมธอด plot()
แสดงรูปด้วยเมธอด show()
ตัวอย่าง
import numpy as np from matplotlib import pyplot as plt from scipy import interpolate # ตั้งค่าขนาดรูป plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True # x และ y data points x = np.array([1, 3, 4, 6, 7]) y = np.array([5, 1, 3, 2, 4]) # วาดข้อมูลต้นฉบับ plt.plot(x, y) # x_new, bspline, y_new x_new = np.linspace(1, 5, 50) bspline = interpolate.make_interp_spline(x, y) y_new = bspline(x_new) # วาดข้อมูลใหม่เส้นเรียบ plt.plot(x_new, y_new) plt.show()
ผลลัพธ์
จะแสดงเส้นหยาบ 5 จุด และเส้นเรียบ 50 จุด จาก B-spline interpolation
