图形预览:
0、import
import matplotlib as mpl from matplotlib import cm from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D
1、简单的连点成线
# 创建画布
fig = plt.figure(figsize=(12, 8), facecolor='lightyellow' ) # 创建 3D 坐标系
ax = fig.gca(fc='whitesmoke', projection='3d' ) # 绘制 3D 图形
ax.plot3D(xs=[2, 0, 2, 2, 2, 0, 2], # x 轴坐标
ys=[0, 2, 2, 0, 2, 2, 2], # y 轴坐标
zs=[2, 2, 2, 2, 0, 2, 2], # z 轴坐标
zdir='z', #
c='k', # color
marker='o', # 标记点符号
mfc='r', # marker facecolor
mec='g', # marker edgecolor
ms=10, # size
) ax.plot(xs=[2, 0, 0, 0, 1, 2, 0, 1, 2], ys=[0, 0, 2, 0, 1, 2, 0, 1, 2], zs=[2, 0, 2, 0, 1, 2, 0, 0, 0], ls=':', color='grey', marker='o', mfc='r', mec='g' ) # 设置坐标轴标题和刻度
ax.set(xlabel='X', ylabel='Y', zlabel='Z', xticks=np.arange(0, 4, 0.5), yticks=np.arange(0, 4, 0.5), zticks=np.arange(0, 4, 0.5) ) # 调整视角
ax.view_init(elev=20, # 仰角
azim=40 # 方位角
) # 显示图形
plt.show()
图形:
2、立方体
# 创建画布
fig = plt.figure(figsize=(12, 8), facecolor='lightyellow' ) # 创建 3D 坐标系
ax = fig.gca(fc='whitesmoke', projection='3d' ) x = [7, 7, 7, 7, 3, 3, 3, 3] y = [3, 7, 7, 3, 3, 7, 7, 3] z = [7, 7, 3, 3, 7, 7, 3, 3] A, B, C, D, E, F, G, H = zip(x, y, z) # 绘制 3D 图形
lines_1 = zip(A, B, C, D, A, E, F, G, C, B, F) ax.plot3D(*lines_1, zdir='z', #
c='k', # color
marker='o', # 标记点符号
mfc='r', # marker facecolor
mec='g', # marker edgecolor
ms=10, # size
) lines_2 = zip(D, H, E, G, H) ax.plot(*lines_2, ls=':', color='b', marker='o', mfc='r', mec='g' ) # 设置坐标轴标题和刻度
ax.set(xlabel='X', ylabel='Y', zlabel='Z', xlim=(0, 9), ylim=(0, 9), zlim=(0, 9), xticks=np.arange(0, 10, 2), yticks=np.arange(0, 10, 1), zticks=np.arange(0, 10, 1) ) # 添加顶点字母标注
for pos in list('abcdefgh'.upper()): ax.text(*eval(pos), s=pos, fontsize=18, color='darkgreen') # 调整网格线
ax.grid() # 调整视角
ax.view_init(elev=15, # 仰角
azim=40 # 方位角
) # 显示图形
plt.show()
图形:
软件信息: