python axes3d函数_python3D绘图Axes3D函数详解

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-22 17:59   18   0

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

参考了官方文档

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP