2011-09-15 5 views
7

che sto importando Mayavi in ​​uno script python per visualizzare un insieme di dati 3D, si scopre il seguente ingenuo assi etichettatura non funzionaCome etichettare gli assi in Mayavi usando i simboli matematici LaTeX?

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

Tutte le idee? Non riesco a trovare la soluzione da google o dal manuale dell'utente.

+1

Mayavi supporta sicuramente le etichette TeX? Non riesco a trovarne alcuna menzione nella documentazione. In Matplotlib, c'è un'opzione 'usetex' che penso sia disattivata di default - forse c'è qualcosa di simile? – James

risposta

0

Prova a mettere un r di fronte a ogni stringa

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

Questo è spiegato [qui] (http://docs.python.org/reference/lexical_analysis.html#string-literals). Senza il prefisso 'r',' \ a' e '\ b' sono interpretati come sequenze di escape. Non penso che questo dovrebbe essere necessario per ''$ \ sigma $'', poiché '\ s' non sembra essere una sequenza di escape riconosciuta. – James

+1

sei sicuro che funzioni? Non ho le risorse disponibili per testare questo, ma presumibilmente penso che la domanda sia più correlata al fatto che mayavi supporti affatto TeX. – nye17

+1

@Zykx: non funziona per me. Si prega di fornire un esempio completo. – Adobe

5

Mayavi non supporta i simboli LaTeX tristemente.

1

Il thread è un po 'vecchio, ma il problema non è ancora stato risolto. Per coloro, che sono ancora interessati a utilizzare il testo Latex in Mayavi potrebbe avere uno sguardo a questo sito:

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

Lì, una soluzione viene presentato, in cui un documento lattice viene convertito in un file PNG, che è di nuovo importato a mayavi. In bocca al lupo!