9

我在 python 脚本中导入 mayavi 以显示一些 3D 数据集,结果发现以下简单的标签不起作用

from mayavi import mlab
axes =mlab.axes(xlabel='$\alpha$', ylabel='$\beta$', zlabel='$\sigma$')

有任何想法吗?我无法从谷歌或用户手册中找到解决方案。

4

5 回答 5

5

Mayavi does not support LaTeX symbols sadly.

于 2013-06-07T12:24:59.217 回答
2

我编写了一个包来启用对 mayavi 的乳胶支持,名为mlabtexhttps ://github.com/MuellerSeb/mlabtex

它生成使用 matplotlib 渲染的图像,并将其用作mlab.surf. 界面类似于mlab.text3d

有了这个,你可以做这样的事情:

import os
os.environ['QT_API'] = 'pyqt'
os.environ['ETS_TOOLKIT'] = 'qt4'
from mayavi import mlab
from mlabtex import mlabtex

TEXT = (r'Sebastian M\"uller, ' +
        r'$f(x)=\displaystyle\sum_{n=0}^\infty ' +
        r'f^{(n)}(x_0)\cdot\frac{(x-x_0)^n}{n!}$')

tex = mlabtex(0., 0., 0.,
              TEXT,
              color=(0., 0., 0.),
              orientation=(30., 0., 0.),
              dpi=1200)
mlab.axes()
mlab.show()

Mayavi 中的乳胶 要标记轴,您现在可以手动将文本放在那里。

祝你好运!

于 2018-05-25T22:40:33.427 回答
1

线程有点老了,但问题仍然没有解决。对于那些仍然对在 mayavi 中使用 Latex 文本感兴趣的人,可以看看这个网站:

https://pgi-jcns.fz-juelich.de/portal/pages/latex-mayavi.html

在那里,提出了一种解决方法,将乳胶文档转换为 png 文件,该文件再次导入到 mayavi。祝你好运!

于 2018-01-18T20:39:20.187 回答
-1

正如@freethebees 的回答中所指出的,Mayavi 不支持 LaTeX 标签。将我对这个问题的回答视为在 Mayavi 场景中实现 LaTeX 标签的一种方式。您可以将 Mayavi 场景(不带坐标轴)导出为图像并导入 PGFPlot,同时进行坐标变换以正确放置 LaTeX 绘制的坐标轴。

示例结果:

在此处输入图像描述

于 2021-01-02T00:18:49.763 回答
-4

尝试在每个字符串前面放一个 r

from mayavi import mlab
axes =mlab.axes(xlabel=r'$\alpha$', ylabel=r'$\beta$', zlabel=r'$\sigma$')
于 2012-02-13T17:44:49.443 回答