我有一个带有多个顶点的 mayavi 对象,我想直接为这些顶点设置 RGB 或 RGBA 值,而不是将自己限制为带有标量的单个颜色图。如何做到这一点?
我正在尝试创建一个将出现在 Mayavi mlab.points3d 图中的 3D 框。
我认为使用 mlab.mesh 函数应该可以实现,如下所示:
points = mlab.points3d(xp,yp,zp,sp)
3Dbox = mlab.mesh(xbox,ybox,zbox)
mlab.show()
Run Code Online (Sandbox Code Playgroud)
我已经查看了网格的 mlab 手册条目,但我一生都无法理解网格的 x、y、z 数据点是如何定义的。
请问有人可以赐教吗?3D 框的 x,y,z 数据点的示例将特别受欢迎。
我正在寻找绘制一个 3 维数组。有没有一种方法可以直接输入数组,绘制体素和实际值(颜色)在由 3d 数组中的位置产生的坐标处?到目前为止,我发现的所有方法(例如 ax.voxels、mlab.points3d...)都采用 x、y 和 z 坐标的数组,但我不想明确说明坐标,就像没有在 plt.imshow 中做。
编辑:我想绘制一个数组,例如: a = [ [ [ [10,20], [5,300] ] , [ [7,80],[9,12] ] ] 这应该给出一个立方体数组中数组索引给出的坐标处的值。我想知道是否有一种方法可以直接获取这样的数组并绘制它。
我试图在R ^ 3中在立方体上可视化3个参数的函数,以了解函数的平滑性.下面的示例代码中显示了此问题的一个示例
%pylab
from mpl_toolkits.mplot3d import Axes3D
import itertools
x = np.linspace(0,10,50)
y = np.linspace(0,15,50)
z = np.linspace(0,8,50)
points = []
for element in itertools.product(x, y, z):
points.append(element)
def f(vals):
return np.cos(vals[0]) + np.sin(vals[1]) + vals[2]**0.5
fxyz = map(f, points)
xi, yi, zi = zip(*points)
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(111, projection='3d')
ax.scatter(xi, yi, zi, c=fxyz, alpha=0.5)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这种方法的问题在于立方体内部无法可视化.有没有更好的方法在一个密集的R ^ 3子集上绘制函数?
我试图在 python 中使用 mayavi 来可视化点云,但无法解决此错误。我确信这是一个简单的 pip 安装,但我不确定该命令。任何帮助深表感谢!谢谢!
顺便说一句,我正在运行 Ubuntu 18.04 并尝试安装 scipy,如下所述:Python import error "getfullargspec"。我还运行了 pip install Traitsui。此外,我已经重新启动了系统。
更新:经过进一步挖掘,看来这可能是Python版本的问题。我能够让它与 Python3 一起运行,但不能与 Python 2.7 一起运行(我需要它与 python 2 一起工作)。我还尝试将 handler.py 中的代码修改为getargspec而不是getfullargspec. 通过这样做,我收到了有关 Trait_factory 的错误
这是完整的打印输出:
Traceback (most recent call last):
File "mayavi_test.py", line 3, in <module>
from mayavi import mlab
File "/home/user/.local/lib/python2.7/site-packages/mayavi/mlab.py", line 16, in <module>
from mayavi.tools.camera import view, roll, yaw, pitch, move
File "/home/user/.local/lib/python2.7/site-packages/mayavi/tools/camera.py", line 24, in <module>
from .engine_manager import get_engine
File "/home/user/.local/lib/python2.7/site-packages/mayavi/tools/engine_manager.py", …Run Code Online (Sandbox Code Playgroud) 尝试导入mayavi时遇到了一个非常奇怪的错误.几分钟前,它就像一个魅力,但现在出现了问题,我不知道为什么.
我python从终端开始,然后输入:
from mayavi import mlab
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/mayavi/mlab.py", line 27, in <module>
from mayavi.tools.camera import view, roll, yaw, pitch, move
File "/usr/lib/python2.7/dist-packages/mayavi/tools/camera.py", line 23, in <module>
from engine_manager import get_engine
File "/usr/lib/python2.7/dist-packages/mayavi/tools/engine_manager.py", line 14, in <module>
from mayavi.core.engine import Engine
File "/usr/lib/python2.7/dist-packages/mayavi/core/engine.py", line 28, in <module>
from mayavi.core.scene import Scene
File "/usr/lib/python2.7/dist-packages/mayavi/core/scene.py", line 15, in <module>
from mayavi.core.source import Source
File "/usr/lib/python2.7/dist-packages/mayavi/core/source.py", line 19, in <module> …Run Code Online (Sandbox Code Playgroud) 我一直在尝试在优胜美地安装 mayavi。我已经安装了 Numpy、VTK、wxPython 和 configobj。当我运行时sudo pip install mayavi,它显示以下错误消息:
Running setup.py install for mayavi\n ----------------------------------------------------------------------\n Building TVTK classes...Assertion failed: ("pre: not_empty" && !IsEmpty()), function\nGetAttributesToInterpolate, file /tmp/vtk-MvPwfE/VTK-6.1.0/Common/DataModel\n/vtkGenericAttributeCollection.cxx, line 453.\n Complete output from command /usr/local/opt/python/bin/python2.7 -c "import\nsetuptools,tokenize;__file__=\'/private/tmp/pip_build_root/mayavi/setup.py\';\nexec(compile(getattr(tokenize, \'open\', open)(__file__).read().replace(\'\\r\\n\', \'\\n\'),\n__file__, \'exec\'))" install --record /tmp/pip-haj8cd-record/install-record.txt \n--single-version-externally-managed --compile:\n running install\nrunning build\nRun Code Online (Sandbox Code Playgroud)\n\n我不知道如何处理这个问题。
\n\n以下内容可能会有所帮助。
\n\n{20:06:44}~/test \xe2\x9e\xad which pip\n/usr/local/bin/pip\n{20:07:13}~/test \xe2\x9e\xad which python\n/usr/local/bin/python\n{20:07:25}~/test \xe2\x9e\xad python\nPython 2.7.9 (default, Dec 19 2014, 06:00:59) \n[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin\nType "help", "copyright", …Run Code Online (Sandbox Code Playgroud) mayavi ×7
python ×6
matplotlib ×2
dependencies ×1
enthought ×1
import ×1
numpy ×1
plot ×1
point-clouds ×1