我正在尝试使用 matplotlib 的工具包 mplot3D 绘制 3D 线图 我有 4 个数组
- tab_C[0] 是一个 x 值数组
- tab_C[1] 是一个y值数组
- tab_C[2]是一个z值数组
- tab_t 是一个时间值数组
我用这个画了我的情节:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig1 = plt.figure()
ax = fig1.gca(projection='3d')
ax.plot(tab_C[0], tab_C[1], tab_C[2])
plt.show()
它有效,但现在我希望该图根据时间值具有彩虹色。 我已经搜索了 matplotlib 的网页,但没有任何内容。关于这个问题有什么建议吗?
最佳答案
您可以像 Bill 展示的那样以纯粹的 matploblib 方式完成,但使用 Mayavi 更直观.这是他们文档中的一个很好的例子:
from mayavi import mlab
n_mer, n_long = 6, 11
dphi = np.pi / 1000.0
phi = np.arange(0.0, 2 * pi + 0.5 * dphi, dphi)
mu = phi * n_mer
x = np.cos(mu) * (1 + np.cos(n_long * mu / n_mer) * 0.5)
y = np.sin(mu) * (1 + np.cos(n_long * mu / n_mer) * 0.5)
z = np.sin(n_long * mu / n_mer) * 0.5
t = np.sin(mu)
mlab.plot3d(x, y, z, t, tube_radius=0.025, colormap='Spectral')
只是参数 colormap
决定了 colormap , x
, y
, z
, t
可以替换为您想要的特定数组。
关于Python - matplotlib 中用于 3D 线图的颜色图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23810274/