Matplotlib - Vẽ đồ thị ba chiều

Mặc dù Matplotlib ban đầu chỉ được thiết kế với mục đích vẽ biểu đồ hai chiều, một số tiện ích vẽ biểu đồ ba chiều đã được xây dựng trên màn hình hai chiều của Matplotlib trong các phiên bản sau, để cung cấp một bộ công cụ để trực quan hóa dữ liệu ba chiều. Biểu đồ ba chiều được bật bằng cách nhậpmplot3d toolkit, đi kèm với gói Matplotlib.

Trục ba chiều có thể được tạo bằng cách chuyển từ khóa chiếu = '3d' vào bất kỳ quy trình tạo trục thông thường nào.

from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.axes(projection='3d')
z = np.linspace(0, 1, 100)
x = z * np.sin(20 * z)
y = z * np.cos(20 * z)
ax.plot3D(x, y, z, 'gray')
ax.set_title('3D line plot')
plt.show()

Bây giờ chúng ta có thể vẽ nhiều kiểu âm mưu ba chiều khác nhau. Cốt truyện ba chiều cơ bản nhất là3D line plotđược tạo từ các bộ ba (x, y, z). Điều này có thể được tạo bằng cách sử dụng hàm ax.plot3D.

3D scatter plot được tạo ra bằng cách sử dụng ax.scatter3D chức năng.

from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.axes(projection='3d')
z = np.linspace(0, 1, 100)
x = z * np.sin(20 * z)
y = z * np.cos(20 * z)
c = x + y
ax.scatter(x, y, z, c=c)
ax.set_title('3d Scatter plot')
plt.show()