【发布时间】:2022-06-13 18:59:48
【问题描述】:
我想使用 matplotlib 中未集成在 mayavi 上的颜色图来打印一些 3D 图形。有问题的颜色图是“cividis”,在尝试了许多不同的事情之后,我无法做到。我需要的是让该颜色图可用于绘制 mlab.mesh
欢迎任何帮助!谢谢
【问题讨论】:
标签: python python-3.x matplotlib mayavi mayavi.mlab
我想使用 matplotlib 中未集成在 mayavi 上的颜色图来打印一些 3D 图形。有问题的颜色图是“cividis”,在尝试了许多不同的事情之后,我无法做到。我需要的是让该颜色图可用于绘制 mlab.mesh
欢迎任何帮助!谢谢
【问题讨论】:
标签: python python-3.x matplotlib mayavi mayavi.mlab
我刚刚遇到了一个非常相似的问题,但使用的是 plot3d,并发现了一些有用的链接:https://gist.github.com/scholich/a1b0142acfbad4420575 和 https://docs.enthought.com/mayavi/mayavi/auto/example_custom_colormap.html
我的解决方案如下所示:
import numpy as np
from mayavi import mlab
import matplotlib.pyplot as plt
cmap = plt.get_cmap('viridis')
cmaplist = np.array([cmap(i) for i in range(cmap.N)]) * 255
x, y, z = X.T # X is an array representing a trajectory in 3D space
t = np.linspace(0, 1, len(X))
pts = mlab.plot3d(x, y, z, t)
pts.module_manager.scalar_lut_manager.lut.table = cmaplist
希望这会对你有所帮助。
【讨论】: