2013-04-07 16 views
5

quando do matplotlib una stringa di annotazione comematplotlib mathtext frac è troppo piccolo

'$\frac{A}{B} = C$' 

e ho specificato un fontsize 18, A e B sono fusi a 12,6 pt, mentre la C è resa a 18 pt. Voglio che A, B e C abbiano tutte le stesse dimensioni. Come faccio a fare questo?

In un documento LaTeX, se si dà i comandi

\begin{equation} 
\frac{A}{B} = C 
\end{equation} 

si ottiene una frazione, dove A, B, e C sono tutte della stessa dimensione, ma se lo fai

$\frac{A}{B} = C$ 

in linea con il testo, ottieni A e B resi a 12,6 pt, mentre il C è reso a 18 pt. Quindi sembra che il testo matematico di matplotlib stia emulando la modalità inline di LaTeX. In LaTeX è possibile scrivere

$\displaystyle\frac{A}{B} = C$ 

e quindi A, B, e C sono tutti della stessa dimensione, anche in modalità inline. Ho provato questo in matplotlib, ma il testo matematico non ha riconosciuto il comando \ displaystyle. = (

C'è un modo per farlo funzionare nel testo matematico di Matplotlib, o sono bloccato a cambiare text.usetex in vero nel mio file .matplotlibrc? (Se possibile mi piacerebbe rimanere con il testo matematico poiché è molto più veloce)

mia messa a punto:. matplotlib v1.2.0 python 2.7 OS X 10.8

+0

Forse vedi se alcune idee in [Impostazione dimensione carattere matematico] (http://tex.stackexchange.com/q/94232/5764) risolvono il tuo problema. – Werner

+0

@Werner Grazie per il link, ma non ho trovato nulla che funzionasse. I comandi \ Large, \ Huge, \ small, etc funzionano solo per la modalità testo o equazione. Non funzionano in modalità matematica inline ($ ... $), che è l'unica modalità per il testo matematico. Il resto della discussione nel link sembra riguardare solo Matlab. Forse ho solo bisogno di chiedere agli sviluppatori di matplotlib se possono implementare \ displaystyle in testo matematico. – Stretch

+0

Fatelo, segnalatelo e condividetelo con la comunità. – Werner

risposta

1

Come hai detto, è possibile risolvere il problema utilizzando \ displaystyle:

$\displaystyle\frac{A}{B} = C$ 

al fine di un llow matplotlib da usare lattice per tutti la gestione del testo è necessario definire in matplotlibrc variabile text.usetex come True:

text.usetex   : True 

ho fatto un piccolo esempio per verificare e si sta lavorando bene:

import matplotlib.pyplot as plt 
plt.plot(range(200)) 
plt.text(100,50,r'$\displaystyle\frac{A}{B}=C$') 

Mi dispiace ma visto che sono nuovo, non posso pubblicare alcuna immagine.

+0

Grazie per il tuo commento. Come accennavo in fondo al mio post, preferirei non usare il latex per tutta la gestione del testo. È piuttosto lento. Voglio usare il testo matematico. – Stretch

Problemi correlati