Matplotlib(pylab) TeX и русский язык(UTF-8)

Автор: wusup Дата: 17.03.2008 08:48 Нужно на графиках показывать формулы и русский текст,
с формулами все понятно, а вот русский в TeX (да и без него) не отображаются.
---
#!/usr/bin/env python
#-*-coding:utf8--

import pylab as P
import numpy as N
import scipy as S
import os,sys
import pywt as W
from matplotlib import rc

rc ('text', usetex=True)

...
...
def plot_sigma(self):
P.figure()
P.plot(self.sigma/self.sigma[0])
P.title(r"Normalized singular values $\sum\frac{S}{S_0}$";-)
P.grid()
P.draw_if_interactive()

...
...
---
Собственно вопрос, как отобразить русский текст в строке
---
P.title(r"Normalized singular values $\sum\frac{S}{S_0}$";-)
---
?
Re: Matplotlib(pylab) TeX и русский язык(UTF-8) 18.04.2008 23:14se9a Использовать u'Нормализованная...' или unicode('Нормализованная...')
Re: Matplotlib(pylab) TeX и русский язык(UTF-8) 19.04.2008 02:41se9a и еще шрифты проверить в ~/.matplotlib/matplotlibrc,
чтобы первыми в списках (font.serif, font.sans-serif и т.д.) стояли содержащие кириллицу, например установить
font.family : serif
font.serif : Times New Roman, ...
Re: Matplotlib(pylab) TeX и русский язык(UTF-8) 19.04.2008 07:00wusup >Использовать u'Нормализованная...' или unicode('Нормализованная...')

Это я первым делом пробовал, не помогло, тем более что стоит указание кодировки.


>и еще шрифты проверить в ~/.matplotlib/matplotlibrc

А вот это сейчас проверю.
Re: Matplotlib(pylab) TeX и русский язык(UTF-8) 19.04.2008 21:09wusup >и еще шрифты проверить в ~/.matplotlib/matplotlibrc

не не работает.
Re: Matplotlib(pylab) TeX и русский язык(UTF-8) 20.04.2008 19:07se9a А если так:

rc('text',usetex=True)
rc('text.latex',unicode=True)
rc('text.latex',preamble='\usepackage[russian]{babel}')
Re: Matplotlib(pylab) TeX и русский язык(UTF-8) 20.04.2008 21:08wusup >А если так:
---
! LaTeX Error: Missing \begin{document}
---
Re: Matplotlib(pylab) TeX и русский язык(UTF-8) 20.04.2008 22:43se9a wusup писал(а):

> >А если так:
> ---
> ! LaTeX Error: Missing \begin{document}
> ---

Хм.. что-то совсем странное... Может где-нибудь скобку закрыть забыли?
У меня (matplotlib-0.91.2) такой вот скрипт показывает в заголовке русский текст и формулу:

---
#!/usr/bin/env python
#-*-coding:utf8--

import pylab as P
from matplotlib import rc

rc('text', usetex=True)
rc('text.latex',unicode=True)
rc('text.latex',preamble='\usepackage[russian]{babel}')
def plot_sigma(sigma):
P.figure()
P.plot(sigma)
P.title(r'Нормализованные сингулярные значения $\sum \frac{S}{S_0}$')
P.grid()
P.draw_if_interactive()
---

Далее:
---
$ python
>>> import mp
>>> mp.plot_sigma([1,2,3])
>>> mp.P.show()
---
Все ОК.
Re: Matplotlib(pylab) TeX и русский язык(UTF-8) 23.04.2008 13:48wusup >matplotlib-0.91.2

хм, matplotlib-0.90.1 , может в этом дело, обновлюсь проверю.
RSS-материал