2013-04-07 14 views
5

Kiedy daję matplotlib ciąg adnotacji takie jakmatplotlib mathtext Frac jest zbyt mała

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

i i Podaj fontsize od 18, A i B są renderowane 12,6 pt, a C jest wytapiane w 18 pkt. Chcę, żeby A, B i C miały taki sam rozmiar. Jak mam to zrobic?

W dokumencie LaTeX, jeśli dasz Komendy

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

dostaniesz frakcji, gdzie A, B i C są tej samej wielkości, ale jeśli nie

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

inline z tekstem, otrzymujesz A i B renderowane z 12.6 pkt, a C renderowane na 18 pt. Tak więc wygląda na to, że matematyczny matplotlib naśladuje tryb liniowy LaTeXa. W LaTeX można napisać

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

a następnie A, B i C są takie same rozmiary, nawet w trybie inline. Próbowałem tego w matplotlib, ale mathtext nie rozpoznał polecenia \ displaystyle. = (

Czy istnieje sposób, aby to działało w matematycznym Matplotlib, czy utknąłem zmieniając text.usetex na true w moim pliku .matplotlibrc? (Jeśli to możliwe, chciałbym pozostać z matematycznym, ponieważ jest dużo szybciej)

Moja konfiguracja. matplotlib v1.2.0 python 2.7 OS X 10.8

+0

Być może zobacz, czy niektóre pomysły w [Ustawianie rozmiaru czcionki matematycznej] (http://tex.stackexchange.com/q/94232/5764) rozwiązują twój problem. – Werner

+0

@Werner Dzięki za link, ale nie znalazłem nic, co działało. Polecenia \ Large, \ Huge, \ small, etc działają tylko w trybie tekstowym lub równaniu. Nie działają w trybie inline math ($ ... $), który jest jedynym trybem dla mathtext. Reszta dyskusji w linku zdaje się dotyczyć tylko Matlaba. Być może po prostu muszę zapytać deweloperów matplotlib, czy potrafią zaimplementować \ displaystyle w mathtext. – Stretch

+0

Zrób to, zgłoś się i podziel się ze społecznością. – Werner

Odpowiedz

1

Jak powiedział, można naprawić za pomocą \ displaystyle:

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

w celu: a llow matplotlib używać lateks dla wszystkich manipulacji tekstu trzeba określić w swojej matplotlibrc zmienna text.usetex jako Prawda:

text.usetex   : True 

zrobiłem mały przykład, aby je zweryfikować i to działa dobrze:

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

Przykro mi, ale ponieważ jestem nowy, nie mogę opublikować żadnego obrazu.

+0

. Dziękujemy za komentarz. Jak już wspomniałem na dole mojego wpisu, wolałbym nie używać lateksu do obsługi wszystkich tekstów. Jest dość powolny. Chcę użyć mathtext. – Stretch

Powiązane problemy