如何在Mayavi中使用LaTeX数学符号为轴标签?
我在一个Python脚本中导入mayavi库,想用它来显示一些3D数据集,但发现下面这种简单的方式来给坐标轴标记名字并不好使。
from mayavi import mlab
axes =mlab.axes(xlabel='$\alpha$', ylabel='$\beta$', zlabel='$\sigma$')
有没有什么好主意?我在谷歌和用户手册里都找不到解决办法。
5 个回答
1
这个讨论有点旧了,但问题还是没有解决。对于那些仍然想在mayavi中使用Latex文本的人,可以看看这个网站:
https://pgi-jcns.fz-juelich.de/portal/pages/latex-mayavi.html
在这里,有一个解决方法,介绍了如何将一个Latex文档转换成png文件,然后再导入到mayavi中。祝你好运!
2
我写了一个叫 mlabtex
的工具包,用来让 mayavi 支持 latex 格式的文本:https://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()
祝你好运!
5
很遗憾,Mayavi不支持LaTeX符号。