Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Đổi màu và thêm đường lưới cho surface plot 3D Matplotlib

Để thay đổi màu và thêm đường lưới (grid lines) cho surface plot 3D trong Python:

  • Thiết lập kích thước figure và padding
  • Tạo dữ liệu x, y và h bằng numpy
  • Tạo figure mới
  • Lấy đối tượng 3D axes
  • Tạo surface plot với màu orange, edgecolors vàng, linewidth

Ví dụ mã nguồn

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

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

x = np.arange(-5, 5, 0.25)
y = np.arange(-5, 5, 0.25)
x, y = np.meshgrid(x, y)
h = np.sin(x) * np.cos(y)

fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(x, y, h, rstride=10, cstride=10, color='orangered', edgecolors='yellow', lw=0.6)
plt.show()

Kết quả

Bề mặt 3D màu cam đỏ (orangered) với đường lưới vàng (yellow), linewidth 0.6.

Đổi màu và thêm đường lưới cho surface plot 3D Matplotlib

Tham số quan trọng:

  • rstride, cstride - bước nhảy hàng/cột cho grid lines (10 = vẽ 1/10 đường)
  • color - màu mặt bề mặt
  • edgecolors - màu đường lưới
  • lw / linewidth - độ dày đường lưới
  • cmap - colormap (thay vì color đơn lẻ)