python三维绘图

一、创建三维坐标轴对象Axes3D

有两种方式:
目的都是生成具有三维格式的对象 Axes3D.

  • 方式一
    利用参数 projection=‘3d’ 来实现:
#!/usr/bin/env python
# encoding: utf-8
'''
@Author  : pentiumCM
@Email   : 842679178@qq.com
@Software: PyCharm
@File    : plt_learn.py
@Time    : 2020/4/24 16:00
@desc	 : matplotlib测试
'''
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 定义坐标轴
fig = plt.figure()
ax1 = plt.axes(projection='3d')

z = np.linspace(0, 13, 1000)
x = 5 * np.sin(z)
y = 5 * np.cos(z)
zd = 13 * np.random.random(100)
xd = 5 * np.sin(zd)
yd = 5 * np.cos(zd)

# 绘制散点图
ax1.scatter3D(xd, yd, zd, cmap='Blues',c='g')
# 绘制空间曲线
ax1.plot3D(x, y, z, 'gray')
plt.show()


  • 方式二
    通过从 mpl_toolkits.mplot3d 导入对象 Axes3D 来实现
#!/usr/bin/env python
# encoding: utf-8
'''
@Author  : pentiumCM
@Email   : 842679178@qq.com
@Software: PyCharm
@File    : plt_learn.py
@Time    : 2020/4/24 16:00
@desc	 : matplotlib测试
'''
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 定义图像和三维格式坐标轴
fig = plt.figure()
ax2 = Axes3D(fig)

z = np.linspace(0, 13, 1000)
x = 5 * np.sin(z)
y = 5 * np.cos(z)
zd = 13 * np.random.random(100)
xd = 5 * np.sin(zd)
yd = 5 * np.cos(zd)

# 绘制散点图
ax2.scatter3D(xd, yd, zd, cmap='Blues', c='g')
# 绘制空间曲线
ax2.plot3D(x, y, z, 'gray')
plt.show()


上面两种方案的效果:

在这里插入图片描述

参考:

https://blog.csdn.net/u014636245/article/details/82799573

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐