Để 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.