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阵列

参考了官方文档

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐