2020年7月12日 / 145次阅读 / Last Modified 2020年7月14日
Matplotlib
跟在2D空间画线一样,matplotlib提供了几乎一样的接口,让我们可以在3D空间中画线。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5, 5, 10000)
fig = plt.figure('graph')
ax = fig.add_subplot(111, projection='3d')
ax.set_title(r'lines')
ax.plot(x, x, x, linewidth=1, label=r'$z=y=x$')
ax.plot(x, x*2, x*4, linewidth=1, label=r'$z=2y=4x$')
ax.plot(x, np.sin(x), np.cos(x), linewidth=1, label=r'$y=sin(x),z=cos(x)$')
ax.set_xlim(-5, 5)
ax.set_ylim(-5, 5)
ax.set_zlim(-5, 5)
ax.legend()
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
ax.text(0, 0, 0, 'x') # (0,0,0)
ax.view_init(60,0)
#该函数接受两个参数,第一个参数是竖直旋转,第二个参数是水平旋转,旋转单位是度°
#ax.view_init(30, -60)
plt.show()
运行效果如下:
说明几点:
不过,在3D空间画平面或者其它图像,matplotlib提供的接口会有所不同。
-- EOF --
本文链接:https://www.pynote.net/archives/2248
《用matplotlib在3D空间画线》有1条留言
Ctrl+D 收藏本页
©Copyright 麦新杰 Since 2019 Python笔记
把ax设置为projection='3d',画什么都行,就是view_init不太好调,我的经验是先用(0,0),然后观察手动调整的大概幅度,再设置参数。 [ ]