这个神仙我一直觉得不咋好看,但有些时候又好用的要命。
老规矩先导入哈
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D#用于画3D的图
文章目录
建个3D空间
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
plt.show()
3D-surface图
- 必须步骤:生成网格点坐标矩阵
X, Y = np.meshgrid(x, y)
- plt.plot_surface(x,y,z,rstride=,cstride=,cmap=’’)
plot_surface画surface图
rstride设置数组行距(步长大小),cstride设置数组列距(步长大小)——我不是很理解这个东西,但我试验了一下发现默认值为1,数值越大,图像越粗糙,就颜色的格子会变大(逐渐像素化) - 其余设置坐标轴标题、坐标轴刻度等都与基操差别不大
- 创建阴影:
plt.contourf(x, y, z, zdir=‘z’, offset=-1)
zdir='x’时即为投影在yz面上;其他同理
offest是投影放在所在轴上的位置
示例:即为在z=1的xy面上的投影 - 添加色彩条colorbar:
plt.colorbar()
这个部分我不是搞得特别透彻,但下面的代码是可以跑出来的,colorbar的参数也存在很多。
fig = plt.figure()
ax = plt.axes(projection='3d')
x = np.arange(-4, 4, 0.25)
y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid