三维线图与点图
import matplotlib
from mpl_toolkits import mplot3d
#加入上述模块后,就可以在创建任意一个普通坐标轴的过程中加入projection=‘3d’,从而创建三维坐标轴。
import numpy as np
import matplotlib.pyplot as plt
#创建图形
fig = plt.figure()
#创建坐标轴
ax = plt.axes(projection = '3d')
zline = np.linspace(0,15,100)
xline = np.sin(zline)
yline = np.cos(zline)
ax.plot3D(xline,yline,zline,'gray')
plt.3Dscatter(xdata,ydata,zdata)
三维面图
等高线图
def f(x,y):
return(np.sin(np.sqrt(x**2+y**2)))
x = np.linspace(-6,6,30)
y = np.linspace(-6,6,30)
X,Y = np.meshgrid(x,y)
Z = f(X,Y)
fig = plt.figure()
ax = plt.axes(projection='3d')
ax.contour3D(X,Y,Z,50,cmap='binary')
plt.show()
要求所有数据都是二维网格数据的形式,并且由函数计算z轴的数值。
ax.view_init(60,35)
调整视图角度,俯仰角调整60度,偏航角调整35度。
线框图
ax.plot_wireframe(X,Y,Z,cmap='viridis')
曲面图
ax.plot_surface(X,Y,Z,cmap='viridis')
其中的参数有:
cstride:列步幅,默认为10
rstride:行步幅,默认为10
color:颜色
cmap:见下图