Nhiều khi chúng ta có các biểu đồ đường được tạo từ danh sách dữ liệu khá phân tán khiến cho biểu đồ trông giống như các đường thẳng nối các dấu chấm hoặc khá dày đặc dẫn đến các điểm dữ liệu rất gần nhau và do đó biểu đồ trông lộn xộn.
matplotlib. pyplot. plot[] theo mặc định tạo ra một đường cong bằng cách nối hai điểm liền kề trong dữ liệu với một đường thẳng và do đó matplotlib. pyplot. Hàm plot[] không tạo ra một đường cong mượt mà cho một phạm vi nhỏ các điểm dữ liệu
Thí dụ
con trăn
import
numpy as np
import
matplotlib.pyplot as plt
# Dataset
x
=
np.array[[
1
,
numpy as np
0,
numpy as np
2_______9numpy as np
4,
numpy as np
6,
numpy as np
8,
import
0import
1import
2 import
3
import
4=
np.array[[
import
7import
1import
9import
1numpy as np
6import
1matplotlib.pyplot as plt
3import
1matplotlib.pyplot as plt
5import
1matplotlib.pyplot as plt
7import
1matplotlib.pyplot as plt
9import
1numpy as np
2 import
3
# Dataset
3
# Dataset
4
# Dataset
5# Dataset
6# Dataset
7
# Dataset
8# Dataset
9____47
x
1____52# Dataset
7
x
4
đầu ra
Quan sát rằng cốt truyện không hề trơn tru vì dữ liệu cơ bản không theo một đường trơn tru. Để vẽ một đường cong trơn tru, trước tiên chúng ta khớp một đường cong spline với đường cong và sử dụng đường cong để tìm các giá trị y cho các giá trị x được phân tách bằng một khoảng cách cực nhỏ. Chúng ta có thể có được một đường cong mượt mà bằng cách vẽ những điểm đó với một khoảng cách rất nhỏ
Chúng ta có thể sử dụng các phương pháp sau để tạo đường cong mượt mà cho tập dữ liệu này
1. Đường cong Spline mượt mà với PyPlot
Nó vẽ một đường cong spline mượt mà bằng cách trước tiên xác định các hệ số của đường cong spline bằng cách sử dụng scipy. nội suy. make_interp_spline[]. Chúng tôi sử dụng các điểm dữ liệu đã cho để ước tính các hệ số cho đường cong spline, sau đó chúng tôi sử dụng các hệ số này để xác định giá trị y cho các giá trị x có khoảng cách rất gần nhau để làm cho đường cong có vẻ mượt mà. Ở đây chúng tôi sẽ sử dụng np. linspace[] trả về các mẫu cách đều nhau, được tính toán trong một khoảng thời gian xác định. Tham số tùy chọn num là số lượng mẫu cần tạo trong phạm vi bắt đầu và dừng. Giá trị mặc định là 50 và phải không âm. Chúng tôi muốn tham số này có giá trị đủ cao để tạo ra một đường cong mượt mà. Hãy lấy 500 mẫu cách đều nhau giữa các giá trị tối thiểu và tối đa dọc theo trục X để vẽ đường cong
cú pháp.
cục mịch. linspace[bắt đầu, dừng, num = 50, điểm cuối = True, bước lùi = Sai, dtype = Không, trục = 0]
X_Y_Spline = scipy. nội suy. make_interp_spline[x, y]
Thí dụ
con trăn
import
numpy as np
import
numpy as np
x
9 =
0import
=
2
import
matplotlib.pyplot as plt
# Dataset
x
=
np.array[[
1
import
1numpy as np
0import
1numpy as np
2import
1numpy as np
4import
1numpy as np
6import
1numpy as np
8import
1import
0import
1import
2import
3
import
4=
np.array[[
import
7import
1import
9import
1numpy as np
6import
1matplotlib.pyplot as plt
3import
1matplotlib.pyplot as plt
5import
1matplotlib.pyplot as plt
7import
1matplotlib.pyplot as plt
9import
1numpy as np
2import
3
numpy as np
04=
numpy as np
06
numpy as np
07
numpy as np
08
numpy as np
09=
numpy as np
11numpy as np
12numpy as np
13numpy as np
14numpy as np
15numpy as np
16# Dataset
7
numpy as np
18=
numpy as np
20
# Dataset
3
numpy as np
22
# Dataset
5numpy as np
24# Dataset
7
# Dataset
8# Dataset
9____47
x
1____52# Dataset
7
x
4
đầu ra
2. Đường cong Spline sử dụng phép nội suy khối
Nó tạo ra một đường cong nội suy bậc ba bằng cách sử dụng scipy. nội suy. interp1d, sau đó chúng tôi sử dụng đường cong để xác định giá trị y cho các giá trị x cách đều nhau để có đường cong mượt mà. Ở đây chúng ta cũng sẽ sử dụng np. linspace[] trả về các mẫu cách đều nhau, được tính toán trong một khoảng thời gian xác định. Hãy lấy 500 mẫu cách đều nhau giữa các giá trị tối thiểu và tối đa dọc theo trục X để vẽ đường cong. Tùy thuộc vào độ cong mà bạn muốn đường cong, bạn có thể sửa đổi giá trị cho tham số thứ ba [num]
cú pháp
cục mịch. linspace[bắt đầu, dừng, num=50, điểm cuối=True, retstep=False, dtype=None, axis=0]
cube_interpolation_model=scipy. nội suy. interp1d[x,y,kind=”khối”]
Thí dụ
con trăn
import
numpy as np
x
9 =
0import
numpy as np
38
import
matplotlib.pyplot as plt
# Dataset
x
=
np.array[[
1
import
1numpy as np
0import
1numpy as np
2import
1numpy as np
4import
1numpy as np
6import
1numpy as np
8import
1import
0import
1import
2import
3
import
4=
np.array[[
import
7import
1import
9import
1numpy as np
6import
1matplotlib.pyplot as plt
3import
1matplotlib.pyplot as plt
5import
1matplotlib.pyplot as plt
7import
1matplotlib.pyplot as plt
9import
1numpy as np
2import
3