文章目录
- python三维绘图
- 一、创建三维坐标轴对象Axes3D
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()
上面两种方案的效果: