2013-09-11 2 views
1

Я попытался отобразить некоторые TeX сегодня, но это не сработало. Я понял, text.usetex в файле matplotlibrc был установлен в False. Когда я добавляю rc('text', usetex=True) к моему скрипту, метки оси также отображаются как TeX, что нежелательно. Я не помню, чтобы когда-либо устанавливать это перед matplotlib 1.3.0, и я определенно не помню никаких трудностей с предоставлением TeX.текст, usetex = истинная установка делает также метки оси

Кто-нибудь еще испытывает такое поведение?

Пример:

import matplotlib.patheffects as PathEffects 

# matplotlib.rc('text', usetex=True) 

fig = plt.figure(figsize=(4,4)) 
ax = fig.add_axes([0,0,0.9,1]) 
ax.imshow(randn(20,20)) 
txt = ax.text(0.1, 0.5, r"Some \LaTeX\ $\alpha=\beta$", transform=ax.transAxes,fontsize=16) 
txt.set_path_effects([PathEffects.Stroke(linewidth=3, foreground="w"), PathEffects.Normal()]) 

Выдает:

enter image description here

раскомментирован `matplotlib.rc ('текст', usetex = True)» линии, производит:

enter image description here

ответ

2

Ваш вопрос не является вопросом но я предполагаю, что у вас есть следующая проблема:

Вы хотите добавить текст к сюжету, используя либо латексный шрифт, либо просто добавить математику, не используя rc('text', usetex=True) (обратите внимание, что в файле rcparams по умолчанию это состояние что это влияет на все текст).

Это может быть сделано:

import matplotlib.pylab as plt 

fig = plt.figure() 
plt.annotate(r"$\mathcal{G}r \epsilon \epsilon \kappa$", xy=(5, 2), size=26) 
plt.annotate(r"default font", xy=(2, 5), size=16) 
plt.annotate(r"latex font", xy=(2, 7), size=20, family='computer modern roman') 
plt.plot(range(10)) 
plt.xlabel("some string") 

enter image description here

Надежда, что помогает немного!

+0

Привет, Грег, я не был достаточно ясен: TeX не отображается, если 'usetex = True' – Shahar

+0

Я добавил пример к моему оригинальному вопросу, чтобы объяснить проблему. – Shahar

+1

Я вижу вашу проблему сейчас, действительно, я не думаю, что matplotlib будет поддерживать поведение, которое вы хотите в данный момент. В идеале аргумент arg 'usetex = True', передаваемый в' ax.text (...) ', - это то, что вы хотите. Возможно, поднял вопрос о github? – Greg

 Смежные вопросы

  • Нет связанных вопросов^_^