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

Lấy thuộc tính đối tượng được chọn (picked) trong mplot3d Matplotlib

Để lấy thuộc tính của đối tượng được chọn (picked) trong Matplotlib 3D, bạn có thể thực hiện theo các bước sau:

Các bước thực hiện

  • Thiết lập kích thước hình vẽ và điều chỉnh khoảng cách giữa các subplot.
  • Tạo figure mới hoặc kích hoạt figure hiện có.
  • Thêm ax với projection='3d'.
  • Tạo scatter plot với dữ liệu ngẫu nhiên, bật picker.
  • Gắn hàm pick_event_method vào sự kiện pick_event.
  • In ra tọa độ x, y, z của điểm được chọn.
  • Sử dụng phương thức show() để hiển thị hình vẽ.

Ví dụ minh họa

import matplotlib.pyplot as plt
import numpy as np

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

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# Scatter plot với picker=5 (dung sai 5 pixel)
ax.scatter(np.random.rand(10), np.random.rand(10), np.random.rand(10),
           c=np.random.rand(10), cmap='hot', picker=5, s=100)

# Hàm xử lý sự kiện pick
def pick_event_method(event):
    ind = event.ind[0]
    x, y, z = event.artist._offsets3d
    print(x[ind], y[ind], z[ind])

# Kết nối sự kiện
fig.canvas.mpl_connect('pick_event', pick_event_method)

plt.show()

Kết quả đầu ra

Khi click vào các điểm trên biểu đồ 3D, tọa độ (x, y, z) của điểm đó sẽ được in ra console.