Chcę tworzyć etykiety do moich działek za pomocą nowoczesnej czcionki komputerowej lateksu. Jednak jedynym sposobem, aby przekonać matplotlib używać czcionki lateks wkładając coś takiego:Matplotlib nie używa czcionki lateksu podczas text.usetex == True
title(r'$\mathrm{test}$')
To oczywiście śmieszne, mówię lateks, aby uruchomić tryb matematyczny, a następnie wyjść z trybu matematyki tymczasowy napisać rzeczywista strunowy. Jak upewnić się, że wszystkie etykiety są renderowane w lateksie, a nie tylko w formułach? I jak mogę się upewnić, że będzie to zachowanie domyślne?
Minimalny przykładem pracy jest następujący:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
# use latex for font rendering
mpl.rcParams['text.usetex'] = True
x = np.linspace(-50,50,100)
y = np.sin(x)**2/x
plt.plot(x,y)
plt.xlabel(r'$\mathrm{xlabel\;with\;\LaTeX\;font}$')
plt.ylabel(r'Not a latex font')
plt.show()
To daje następujące wyniki:
Tutaj oś x jest jak chcę etykiety wyświetlane. Jak mogę się upewnić, że wszystkie etykiety pojawiają się w ten sposób, bez konieczności przechodzenia do trybu matematycznego iz powrotem?
w moim systemie domyślnym zachowaniem, że 'usetex' umożliwia LaTeX za wszystko, a właściwie jestem dokładnie szuka zachowanie można opisać (LaTeX tylko dla' $ ... $ '). Ponieważ wszystkie odpowiedzi wspominają jedynie o tym, jak należy ustawić 'font.family', aby osiągnąć swój cel, byłoby wspaniale, gdybyś mógł określić alternatywę, która pozwoli uzyskać te czcionki inne niż LaTeX ... – bluenote10