Hướng dẫn python draw 3d shapes - python vẽ hình 3d

Ghi chú

Nhấn vào đây để tải xuống mã ví dụ đầy đủhere to download the full example code

Trình diễn một phân tán cơ bản trong 3D.

Hướng dẫn python draw 3d shapes - python vẽ hình 3d

import matplotlib.pyplot as plt
import numpy as np

# Fixing random state for reproducibility
np.random.seed(19680801)


def randrange(n, vmin, vmax):
    """
    Helper function to make an array of random numbers having shape (n, )
    with each number distributed Uniform(vmin, vmax).
    """
    return (vmax - vmin)*np.random.rand(n) + vmin

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

n = 100

# For each set of style and range settings, plot n random points in the box
# defined by x in [23, 32], y in [0, 100], z in [zlow, zhigh].
for m, zlow, zhigh in [('o', -50, -25), ('^', -30, -5)]:
    xs = randrange(n, 23, 32)
    ys = randrange(n, 0, 100)
    zs = randrange(n, zlow, zhigh)
    ax.scatter(xs, ys, zs, marker=m)

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

plt.show()

Phòng trưng bày được tạo ra bởi Sphinx-Gallery

Sử dụng mã sau nó hoạt động cho tôi:

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

# Generate the values
x_vals = X_iso[:, 0:1]
y_vals = X_iso[:, 1:2]
z_vals = X_iso[:, 2:3]

# Plot the values
ax.scatter(x_vals, y_vals, z_vals, c = 'b', marker='o')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_zlabel('Z-axis')

plt.show()

Trong khi x_iso là mảng 3-D của tôi và cho x_vals, y_vals, z_vals tôi đã sao chép/sử dụng 1 cột/trục từ mảng đó và được gán cho các biến/mảng đó tương ứng.


Để có được biểu đồ 3D, chúng ta có thể sử dụng phương thức FIG.ADD_Subplot (111, Projection = '3D') để khởi tạo trục. Sau đó, chúng ta có thể sử dụng phương thức Scatter & nbsp; để vẽ các điểm dữ liệu khác nhau trên các trục X, Y và Z.scatter method to draw different data points on the x, y, and z axes.

Các bước

  • Tạo một hình mới, hoặc kích hoạt một con số hiện có.

  • Thêm một `~ .axes.axes` vào hình như là một phần của sự sắp xếp Subplot, trong đó NROWS = 1, NCOLs = 1, INDEX = 1 và chiếu là‘ 3D.

  • Lặp lại một danh sách các nhãn hiệu, XS, YS và Zs, để tạo các điểm phân tán.

  • Đặt nhãn X, Y và Z bằng các phương thức SET_XLABEL, Y_LABEL và Z_LABEL.

  • Sử dụng phương thức plt.Show () để vẽ hình con số.

Thí dụ

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(1000)

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

n = 100

for m, zl, zh in [('o', -50, -25), ('^', -30, -5)]:
   xs = (32 - 23) * np.random.rand(n) + 23
   ys = (100 - 0) * np.random.rand(n)
   zs = (zh - zl) * np.random.rand(n) + zl
   ax.scatter(xs, ys, zs, marker=m)

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

plt.show()

Đầu ra

Cập nhật vào ngày 19 tháng 9 năm 2021 07:08:45

  • Câu hỏi và câu trả lời liên quan
  • Làm thế nào để tạo ra một âm mưu phân tán để phân cụm trong Python?
  • Kết nối hai điểm trên âm mưu phân tán 3D trong Python và Matplotlib
  • Làm thế nào để vẽ các điểm phân tán trong hình 3D với một thanh màu trong matplotlib?
  • Vẽ biểu đồ bề mặt 3D từ dữ liệu {x, y, z} trong python matplotlib
  • Làm thế nào để tạo một thanh màu riêng biệt cho một âm mưu phân tán trong matplotlib?
  • Làm thế nào để tắt tính minh bạch trong âm mưu phân tán 3D của Matplotlib?
  • Kiểm soát giá trị alpha trên biểu đồ phân tán 3D bằng cách sử dụng python và matplotlib
  • Sơ đồ các điểm phân tán trên lô 3D không có trục và lưới trong matplotlib
  • Tạo cốt truyện 3D tương tác trong Notebook Jupyter (Python & Matplotlib)
  • Làm thế nào tôi có thể tạo ra một biểu đồ phân tán được tô màu bởi mật độ trong matplotlib?
  • Tiết kiệm bản nhạc 3D trong PDF 3D với Python
  • Làm thế nào để vượt qua một dòng trên một âm mưu phân tán trong Python?
  • Sơ đồ phân tán các điểm trên một hình chiếu 3D với kích thước điểm đánh dấu khác nhau trong matplotlib
  • Làm thế nào để làm động một âm mưu phân tán trong matplotlib?
  • Làm thế nào để vẽ đồ thị 3D bằng python matplotlib?

Matplotlib có thể được sử dụng cho âm mưu 3D không?

Cấu trúc 3D trong matplotlib bắt đầu bằng cách kích hoạt bộ công cụ tiện ích. Chúng tôi có thể kích hoạt bộ công cụ này bằng cách nhập thư viện MPLOT3D, đi kèm với cài đặt matplotlib tiêu chuẩn của bạn thông qua PIP. Chỉ cần chắc chắn rằng phiên bản matplotlib của bạn là hơn 1.0. Bây giờ các trục của chúng ta được tạo ra, chúng ta có thể bắt đầu vẽ trong 3D.. We can enable this toolkit by importing the mplot3d library, which comes with your standard Matplotlib installation via pip. Just be sure that your Matplotlib version is over 1.0. Now that our axes are created we can start plotting in 3D.

Làm thế nào để bạn vẽ một âm mưu xyz trong Python?

Câu trả lời của Matplotlib XYZ PLOT..

từ mpl_toolkits. MPLOT3D Nhập AXES3D ..

Nhập matplotlib. pyplot như plt ..

FIG = plt. nhân vật().

AX = Hình. add_subplot (111, projection = '3d').

Làm thế nào để bạn vẽ đồ thị 3D trong Python?

Vẽ một điểm duy nhất trong không gian 3D..

Bước 1: Nhập thư viện. Nhập matplotlib.pyplot dưới dạng plt từ mpl_toolkits.mplot3d express3d. ....

Bước 2: Tạo hình và trục. fig = plt.figure (figsize = (4,4)) ax = fig.add_subplot (111, projection = '3d') ....

Bước 3: Vẽ đồ thị điểm ..