Как маркировать оси в Mayavi, используя математические символы LaTeX? - PullRequest
8 голосов
/ 15 сентября 2011

Я импортирую Mayavi в сценарии Python для отображения некоторого набора 3D-данных. Оказывается, следующие наивные метки осей не работают

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

Есть идеи?Я не могу найти решение ни в Google, ни в руководстве пользователя.

Ответы [ 4 ]

5 голосов
/ 07 июня 2013

Mayavi, к сожалению, не поддерживает символы LaTeX.

1 голос
/ 26 мая 2018

Я написал пакет для включения поддержки латекса для mayavi под названием mlabtex: 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()

Latex in Mayavi Чтобы пометить оси, вы можете теперь разместить текст там вручную.

Удачи!

1 голос
/ 18 января 2018

Поток устарел, но проблема все еще не решена. Для тех, кто все еще заинтересован в использовании латексного текста в Mayavi, можете взглянуть на этот сайт:

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

Там представлен обходной путь, при котором латексный документ преобразуется в файл png, который снова импортируется в Mayavi. Удачи!

0 голосов
/ 13 февраля 2012

Попробуйте поставить r перед каждой строкой

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