2010-10-26 22 views
7

Come mostrare una semplice formula in lattice in python? Forse numpy è la scelta giusta?Stampa latex-formula con python

EDIT:

Ho codice python come:

a = '\frac{a}{b}' 

e si desidera stampare questo in un output grafico (come matplotlib).

+0

Cosa vuoi dire 'formula spettacolo latex in python'. Vuoi estrarre una formula da un file .tex e stamparla sullo stdout di python, implementare una formula mostrata in un file .tex (pdf/ps) in python o cosa? –

+0

Puoi chiarire? Dove vuoi stamparlo? Vuoi generare immagini o stai cercando qualcosa all'interno di una GUI? – Wolph

+0

scusa per la domanda poco chiara. :/Si prega di vedere la modifica. – kame

risposta

8

Come suggerito da Andrew poco lavoro con Matplotlib.

import matplotlib.pyplot as plt 
a = '\\frac{a}{b}' #notice escaped slash 
plt.plot() 
plt.text(0.5, 0.5,'$%s$'%a) 
plt.show() 
+0

Non è successo niente. Ho installato matplotlib. – kame

+4

ho dimenticato: plt.show() – kame

+0

Qualcuno può spiegare a me la linea 3? Il punto e virgola è solo un refuso? – Annan

3

Matplotlib può già eseguire TeX, impostando text.usetex: True in ~/.matplotlib/matplotlibrc. Quindi, si può semplicemente utilizzare TeX in tutte le stringhe visualizzate, per esempio,

ylabel(r"Temperature (K) [fixed $\beta=2$]") 

(accertarsi di utilizzare il $ come nella normale in linea TeX!). Il r prima della stringa significa che non vengono apportate sostituzioni; altrimenti devi sfuggire alle barre menzionate.

Ulteriori informazioni sul sito matplotlib.

+0

È matplotlibrc nella cartella matplotlib? Non riesco a trovarlo:/ – kame

+0

Sui sistemi UNIX, è nella directory che ho menzionato sopra. Su Windows, non lo so. Controlla i documenti. –

+0

Sto usando Ubuntu 12 e ho installato matplotlib nel sistema (non utente), nel mio caso è su/etc/matplotlibrc –

1

Senza zecche:

a = r'\frac{a}{b}' 
ax = plt.axes([0,0,0.1,0.2]) #left,bottom,width,height 
ax.set_xticks([]) 
ax.set_yticks([]) 
plt.text(0.3,0.4,'$%s$' %a,size=40)