Python繪製3D圖
參考上一篇的Phthon畫2D圖:
唯一的區別就是3D圖把畫筆換成了mplot3d,詳細引數見下面的程式碼塊
import matplotlib。pyplot as plt
import numpy as np
# 定義figure
fig = plt。figure()
# 建立3d圖形的兩種方式
# 1、將figure變為3d
ax = Axes3D(fig)
# 2、ax = fig。add_subplot(221, projection=‘3d’)
# 定義x, y
x = np。arange(-4, 4, 0。26)
y = np。arange(-4, 4, 0。26)
# 生成網格資料,相當於笛卡爾積
X, Y = np。meshgrid(x, y)
# 計算每個點對的長度
R = np。sqrt(X ** 2 + Y ** 2)
Z = np。sin(R)
# 繪製3D曲面
ax。plot_surface(X, Y, Z, rstride = 1, cstride = 1, cmap = plt。get_cmap(‘coolwarm’))
# rstride:行之間的跨度 cstride:列之間的跨度
# rcount:設定間隔個數,預設50個,ccount:列的間隔個數 不能與上面兩個引數同時出現
# cmap引數可以控制三維曲面的顏色組合, 一般三維曲面就是 rainbow 的,可以使用collwarm
# 你也可以修改 rainbow 為 coolwarm, 驗證我的結論
# 底部的投影
ax。contour(X, Y, Z, zdir = ‘z’, offset = -1, cmap = plt。get_cmap(‘rainbow’))
# zdir 可選 ‘z’|‘x’|‘y’| 分別表示投影到z,x,y平面
# zdir = ‘z’, offset = -1 表示投影到z = -1上
# 設定z軸的維度,x,y類似
ax。set_zlim(-2, 2)
plt。show()