Форум сайта python.su
![[RSS Feed] [RSS Feed]](/static/djangobb_forum/img/feed-icon-small.png) 
			 
							 0
  0   
								
								Здравствуйте. Возникла небольшая проблема при построении графиков с помощью matplotlib. При выводе кириллицы на графике появляются кракозябры. Настройку шрифтов сделал как здесь написано. Но проблема осталась. Я понимаю, что проблема в кодировке, но где ее искать и как исправлять не знаю, подскажите пожалуйста кто сталкивался.
>>> import matplotlib.pyplot as plt
>>> plt.plot([1,2,3])
[<matplotlib.lines.Line2D object at 0x01B4B1D0>]
>>> plt.title(u'Прямая линия')
<matplotlib.text.Text object at 0x01B5DC90>
>>> plt.show()

Офлайн
 
							 0
  0   
								
								плохо искали ?
http://python.su/forum/viewtopic.php?id=4178
Офлайн
 
							 0
  0   
								
								вот пишу как вы говорите:
>>> import matplotlib as mpl
>>> import matplotlib.pyplot as plt
>>> mpl.rcParams['font.sans-serif'] = 'DejaVu Sans'
>>> plt.plot([1,2,3])
[<matplotlib.lines.Line2D object at 0x01D003B0>]
>>> plt.title(u'Прямая линия')
<matplotlib.text.Text object at 0x01D14250>
>>> plt.show()
Офлайн
 
							 0
  0   
								
								import os
import matplotlib.font_manager as fm
import matplotlib.pyplot as p
p.rcParams['text.usetex'] = False
path_to_skript = os.path.abspath(__file__)
path_to_skript = os.path.split(path_to_skript)[0]
fp1 = fm.FontProperties( fname = os.path.join(path_to_skript, 'arial.ttf' ))
...
figure = p.figure()
ax1 = figure.add_subplot(211)
ax1.set_title(u'Четные корни', fontproperties = fp1)
ax1.set_ylabel(u'Ось y', fontproperties = fp1)
Отредактировано (Окт. 24, 2010 12:41:35)
Офлайн
 
							 0
  0   
								
								Извиняюсь, может я не так понял. В какой каталог надо скопировать шрифт? При выполнении кода интерпретатор выдает:
Traceback (most recent call last):
File "C:/Documents and Settings/kyzic/Рабочий стол/1.py", line 7, in <module>
path_to_skript = os.path.abspath(__file__)
NameError: name '__file__' is not defined
Офлайн
 
							 0
  0   
								
								Это вариант для файла с исходным кодом, а не для интерпретатора.
Неужели так трудно набрать в Гугле “питон __file__”??
Офлайн
 
							 0
  0   
								
								Это вариант для файла с исходным кодом, а не для интерпретатора.а что, файл с исходным кодом не подлежит интерпретации?
figure = p.figure()
ax1 = figure.add_subplot(211)
ax1.set_title(u'Четные корни', fontproperties = fp1)
ax1.set_ylabel(u'Ось y', fontproperties = fp1)
Офлайн
 
							 0
  0   
								
								kyzicОК, не правильно выразился.
а что, файл с исходным кодом не подлежит интерпретации?
kyzicВ используемом Вами pyplot тоже где то должны задаваться свойства текста (параметр fontproperties), советую изучить документацию.
Вообщем путь указал. Но ничего не пойму в этом куске кода:figure = p.figure()
ax1 = figure.add_subplot(211)
ax1.set_title(u'Четные корни', fontproperties = fp1)
ax1.set_ylabel(u'Ось y', fontproperties = fp1)
Отредактировано (Окт. 24, 2010 17:08:37)
Офлайн
 
							 1
  1   
								
								Самый простой способ русификации - изменение файла “C:\PythonXY\Lib\site-packages\matplotlib\mpl-data\matplotlib.conf”
непример так:
…
    family = ‘tahoma’
    …
Офлайн
 
							 0
  0   
								
								commпоменял там все шрифты на arial. результат нулевой.
Самый простой способ русификации - изменение файла “C:\PythonXY\Lib\site-packages\matplotlib\mpl-data\matplotlib.conf”
непример так:
…
family = ‘tahoma’
…
Офлайн
![[RSS Feed] [RSS Feed]](/static/djangobb_forum/img/feed-icon-small.png)