Computer >> Máy Tính >  >> Lập trình >> Python

Vẽ một hình ảnh imshow () trong 3d trong Matplotlib

Để vẽ một imshow () hình ảnh 3D trong Matplotlib, chúng ta có thể thực hiện các bước sau -

  • Tạo xx yy điểm dữ liệu bằng cách sử dụng numpy.

  • Nhận dữ liệu (2D) sử dụng X, Y Z .

  • Tạo một hình mới hoặc kích hoạt một hình hiện có bằng cách sử dụng figure () phương pháp.

  • Thêm 'ax1' vào hình như một phần của sự sắp xếp lô phụ.

  • Hiển thị dữ liệu dưới dạng hình ảnh, tức là trên một raster thông thường 2D với dữ liệu.

  • Thêm 'ax2' vào hình như một phần của sự sắp xếp lô phụ.

  • Tạo và lưu trữ một tập hợp các đường đồng mức hoặc các vùng đã tô.

  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm

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

xx, yy = np.meshgrid(np.linspace(0, 1, 10), np.linspace(0, 1, 10))

X = xx
Y = yy
Z = 10 * np.ones(X.shape)

data = np.cos(xx) * np.cos(xx) + np.sin(yy) * np.sin(yy)
fig = plt.figure()

ax1 = fig.add_subplot(121)
ax1.imshow(data, cmap="plasma", interpolation='nearest', origin='lower', extent=[0, 1, 0, 1])

ax2 = fig.add_subplot(122, projection='3d')
ax2.contourf(X, Y, data, 100, zdir='z', offset=0.5, cmap="plasma")

plt.show()

Đầu ra

Vẽ một hình ảnh imshow () trong 3d trong Matplotlib