Mảng numpy cốt truyện Python 3D

Mô-đun con axes3d có trong bộ công cụ mpl_toolkits.mplot3d của Matplotlib cung cấp các phương thức cần thiết để tạo sơ đồ bề mặt 3D bằng Python

Sơ đồ bề mặt

Các sơ đồ bề mặt được tạo bằng phương pháp ax.plot_surface[] của Matplotlib. Theo mặc định, các ô bề mặt là một màu duy nhất. Định dạng chung của phương thức ax.plot_surface[] của Matplotlib bên dưới

ax.plot_surface[X, Y, Z]

Trong đó

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
#if using a Jupyter notebook, include:
%matplotlib inline

x = np.arange[-5,5,0.1] y = np.arange[-5,5,0.1] X,Y = np.meshgrid[x,y] Z = X*np.exp[-X2 - Y2]

fig = plt.figure[figsize=[6,6]] ax = fig.add_subplot[111, projection='3d']

# Plot a 3D surface ax.plot_surface[X, Y, Z]

plt.show[]

1 và
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
#if using a Jupyter notebook, include:
%matplotlib inline

x = np.arange[-5,5,0.1] y = np.arange[-5,5,0.1] X,Y = np.meshgrid[x,y] Z = X*np.exp[-X2 - Y2]

fig = plt.figure[figsize=[6,6]] ax = fig.add_subplot[111, projection='3d']

# Plot a 3D surface ax.plot_surface[X, Y, Z]

plt.show[]

2 là mảng 2D gồm các điểm x và y và
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
#if using a Jupyter notebook, include:
%matplotlib inline

x = np.arange[-5,5,0.1] y = np.arange[-5,5,0.1] X,Y = np.meshgrid[x,y] Z = X*np.exp[-X2 - Y2]

fig = plt.figure[figsize=[6,6]] ax = fig.add_subplot[111, projection='3d']

# Plot a 3D surface ax.plot_surface[X, Y, Z]

plt.show[]

3 là mảng 2D có chiều cao

Một ví dụ về sơ đồ bề mặt 3D có trong phần mã tiếp theo. Lưu ý cách đối số từ khóa

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
#if using a Jupyter notebook, include:
%matplotlib inline

x = np.arange[-5,5,0.1] y = np.arange[-5,5,0.1] X,Y = np.meshgrid[x,y] Z = X*np.exp[-X2 - Y2]

fig = plt.figure[figsize=[6,6]] ax = fig.add_subplot[111, projection='3d']

# Plot a 3D surface ax.plot_surface[X, Y, Z]

plt.show[]

4 được bao gồm trong phương thức
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
#if using a Jupyter notebook, include:
%matplotlib inline

x = np.arange[-5,5,0.1] y = np.arange[-5,5,0.1] X,Y = np.meshgrid[x,y] Z = X*np.exp[-X2 - Y2]

fig = plt.figure[figsize=[6,6]] ax = fig.add_subplot[111, projection='3d']

# Plot a 3D surface ax.plot_surface[X, Y, Z]

plt.show[]

5

Trong 1]

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
#if using a Jupyter notebook, include:
%matplotlib inline

x = np.arange[-5,5,0.1] y = np.arange[-5,5,0.1] X,Y = np.meshgrid[x,y] Z = X*np.exp[-X2 - Y2]

fig = plt.figure[figsize=[6,6]] ax = fig.add_subplot[111, projection='3d']

# Plot a 3D surface ax.plot_surface[X, Y, Z]

plt.show[]

Sơ đồ khung dây

Biểu đồ khung dây tương tự như biểu đồ bề mặt, nhưng trên biểu đồ khung dây, toàn bộ bề mặt 3d không được hiển thị. Thay vào đó, bề mặt gần đúng với "dây" được đặt trên bề mặt 3D. Các sơ đồ bề mặt 3D khung dây có thể được xây dựng bằng phương pháp _______6 của Matplotlib. Phương pháp chung dưới đây

________số 8_______

Trong đó

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
#if using a Jupyter notebook, include:
%matplotlib inline

x = np.arange[-5,5,0.1] y = np.arange[-5,5,0.1] X,Y = np.meshgrid[x,y] Z = X*np.exp[-X2 - Y2]

fig = plt.figure[figsize=[6,6]] ax = fig.add_subplot[111, projection='3d']

# Plot a 3D surface ax.plot_surface[X, Y, Z]

plt.show[]

1 và
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
#if using a Jupyter notebook, include:
%matplotlib inline

x = np.arange[-5,5,0.1] y = np.arange[-5,5,0.1] X,Y = np.meshgrid[x,y] Z = X*np.exp[-X2 - Y2]

fig = plt.figure[figsize=[6,6]] ax = fig.add_subplot[111, projection='3d']

# Plot a 3D surface ax.plot_surface[X, Y, Z]

plt.show[]

2 là mảng 2D gồm các điểm x và y và
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
#if using a Jupyter notebook, include:
%matplotlib inline

x = np.arange[-5,5,0.1] y = np.arange[-5,5,0.1] X,Y = np.meshgrid[x,y] Z = X*np.exp[-X2 - Y2]

fig = plt.figure[figsize=[6,6]] ax = fig.add_subplot[111, projection='3d']

# Plot a 3D surface ax.plot_surface[X, Y, Z]

plt.show[]

3 là mảng 2D có chiều cao. Các đối số từ khóa
ax.plot_wireframe[X, Y, Z, rstride=10, cstride=10]
0 và
ax.plot_wireframe[X, Y, Z, rstride=10, cstride=10]
1 xác định kích thước bước hàng và kích thước bước cột. Các đối số từ khóa này kiểm soát mức độ gần nhau của các "dây" trong biểu đồ khung dây

Đoạn code tiếp theo vẽ hai ô wire frame cạnh nhau

Trong 2]

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
# if using a Jupyter notebook, include:
%matplotlib inline

fig = plt.figure[figsize=[12,6]] ax1 = fig.add_subplot[121, projection='3d'] ax2 = fig.add_subplot[122, projection='3d']

x = np.arange[-5,5,0.1] y = np.arange[-5,5,0.1] X,Y = np.meshgrid[x,y] Z = X*np.exp[-X2 - Y2]

# Plot a basic wireframe ax1.plot_wireframe[X, Y, Z, rstride=10, cstride=10] ax1.set_title['row step size 10, column step size 10']

ax2.plot_wireframe[X, Y, Z, rstride=20, cstride=20] ax2.set_title['row step size 20, column step size 20']

plt.show[]

Đồ thị bề mặt Gradient

Biểu đồ bề mặt chuyển màu kết hợp biểu đồ bề mặt 3D với biểu đồ đường viền 2D. Trong biểu đồ bề mặt gradient, bề mặt 3D được tô màu giống như biểu đồ đường viền 2D. Phần cao của bề mặt có màu khác với phần thấp của bề mặt. Cuộc gọi phương thức chung dưới đây. Lưu ý đối số từ khóa

ax.plot_wireframe[X, Y, Z, rstride=10, cstride=10]
2

surf = ax.plot_surface[X, Y, Z, 
                        cmap=,
                        linewidth=0,
                        antialiased=False]

Đối số từ khóa

ax.plot_wireframe[X, Y, Z, rstride=10, cstride=10]
3 gán màu cho bề mặt. Có rất nhiều tùy chọn bản đồ màu trong Matplotlib. Các tùy chọn bao gồm
ax.plot_wireframe[X, Y, Z, rstride=10, cstride=10]
4,
ax.plot_wireframe[X, Y, Z, rstride=10, cstride=10]
5 và
ax.plot_wireframe[X, Y, Z, rstride=10, cstride=10]
6. Tìm tất cả các bản đồ màu của Matplotlib trong tài liệu Matplotlib tại matplotlib. org/hướng dẫn/màu sắc/bản đồ màu. Một thanh màu có thể được thêm dọc theo biểu đồ bằng cách gọi phương thức
ax.plot_wireframe[X, Y, Z, rstride=10, cstride=10]
7 và chuyển vào đối tượng biểu đồ bề mặt

Phần mã tiếp theo xây dựng biểu đồ bề mặt gradient sử dụng bản đồ màu

ax.plot_wireframe[X, Y, Z, rstride=10, cstride=10]
5

Trong 3]

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
# if using a Jupyter notebook, include:
%matplotlib inline

fig = plt.figure[figsize=[10,6]] ax1 = fig.add_subplot[111, projection='3d']

x = np.arange[-5,5,0.1] y = np.arange[-5,5,0.1] X,Y = np.meshgrid[x,y] Z = X*np.exp[-X2 - Y2]

mycmap = plt.get_cmap['gist_earth'] ax1.set_title['gist_earth color map'] surf1 = ax1.plot_surface[X, Y, Z, cmap=mycmap] fig.colorbar[surf1, ax=ax1, shrink=0.5, aspect=5]

plt.show[]

Sơ đồ bề mặt 3D với phép chiếu sơ đồ đường viền 2D

Các sơ đồ bề mặt 3D được tạo bằng Matplotlib có thể được chiếu lên các bề mặt 2D. Dưới đây là đoạn code tạo biểu đồ bề mặt 3D. Các hình chiếu của bề mặt 3D được hiển thị trên các ô đường viền 2D

Tôi có thể vẽ một mảng NumPy không?

Để vẽ đồ thị bằng Python, chúng ta sẽ sử dụng thư viện Matplotlib. Matplotlib được sử dụng cùng với dữ liệu NumPy để vẽ bất kỳ loại biểu đồ nào . Từ matplotlib, chúng tôi sử dụng chức năng cụ thể i. e. pyplot[], được sử dụng để vẽ dữ liệu hai chiều.

Làm cách nào để vẽ một mảng 2D NumPy trong matplotlib?

Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con
Tạo dữ liệu ngẫu nhiên có kích thước 100 × 3
Sử dụng phương thức scatter[] để vẽ mảng 2D có nhiều mảng, tôi. e. , dữ liệu
Để hiển thị hình, sử dụng phương thức show[]

Chủ Đề