Axes3D对象与使用projection ='3d'关键字的任何其他轴一样创建。 创建一个新的matplotlib.figure.Figure并为其添加一个类型为Axes3D的新轴:
比如如下方法创建ax
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
1画线--Axes3D.plot(xs, ys, *args, **kwargs)
注:xs,ys x,y坐标的顶点 ,zs z值(s),对于所有点或者每个点都有一个值。zdir绘制二维集时,将哪个方向用作z('x','y'或'z')。
2画散点图--Axes3D.scatter(xs, ys, zs=0, zdir='z', s=20, c=None, depthshade=True, *args, **kwargs)
注:xs,ys为数据点的位置。, zs与xs和ys具有相同长度的数组或将所有点放在同一平面中的单个值。 缺省值是0。
zdir绘制二维集时,将哪个方向用作z('x','y'或'z')。c一种颜色。 c可以是单色格式字符串,也可以是长度为N的颜色规范序列,也可以是使用通过kwargs指定的cmap和范数映射到颜色的N个数字序列。 请注意,c不应该是单个数字RGB或RGBA序列,因为它与要进行彩色映射的值数组难以区分。 c可以是其中行是RGB或RGBA的二维数组,但是,包括单行的情况下为所有点指定相同的颜色。
# Fixing random state for reproducibility
np.random.seed(19680801)
def randrange(n, vmin, vmax):
return (vmax - vmin)*np.random.rand(n) + vmin
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
n = 100
# For each set of style and range settings, plot n random points in the box
# defined by x in [23, 32], y in [0, 100], z in [zlow, zhigh].
for c, m, zlow, zhigh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]:
xs = randrange(n, 23, 32)
ys = randrange(n, 0, 100)
zs = randrange(n, zlow, zhigh)
ax.scatter(xs, ys, zs, c=c, marker=m)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
3画曲面图---Axes3D.plot_surface(X, Y, Z, *args, **kwargs)
注:cmap:彩图,X,Y,Z:2d阵列
参考了官方文档