Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách lấy tọa độ từ contour trong matplotlib

Giới thiệu

Để lấy tọa độ (coordinates) từ các đường contour trong matplotlib, bạn có thể làm theo các bước sau:

  • Thiết lập kích thước hình vẽ và padding.
  • Tạo các danh sách dữ liệu x, y và m.
  • Sử dụng plt.contour(x, y, m) để vẽ biểu đồ contour.
  • Lấy instance của contour collections.
  • Lấy đường dẫn (path) của các collections, sau đó in ra các đỉnh (vertices) hoặc tọa độ của contour.
  • Hiển thị hình vẽ bằng show().

Ví dụ minh họa

import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = [1, 2, 3, 4]
y = [1, 2, 3, 4]
m = [[15, 14, 13, 12],
     [14, 12, 10, 8],
     [13, 10, 7, 4],
     [12, 8, 4, 0]]

cs = plt.contour(x, y, m)

for item in cs.collections:
    for i in item.get_paths():
        v = i.vertices
        x = v[:, 0]
        y = v[:, 1]
        print(x, y)

plt.show()

Kết quả đầu ra

Chương trình sẽ vẽ biểu đồ contour và in ra tọa độ các đường contour trên terminal:

Cách lấy tọa độ từ contour trong matplotlibCách lấy tọa độ từ contour trong matplotlib

[4.] [4.]
[4. 3.5] [3.5 4.]
[4. 3.] [3. 4.]
[4. 3.33333333 3. 2.5] [2.5 3. 3.33333333 4.]
[4. 3. 2.66666667 2.] [2. 2.66666667 3. 4.]
[4. 3. 2. 1.5] [1.5 2. 3. 4.]
[4. 3. 2. 1.33333333 1.] [1. 1.33333333 2. 3. 4.]
[2. 1.] [1. 2.]