Архив метки: matplotlib

Matplotlib: самое короткое решение проблемы отображения кириллицы

В супер-библиотеке рисования графиков Matplotlib есть досадный баг – кириллические подписи в графике отображаются некорректно. В интернете немало решений, но все они какие-то длинные и не pythonic-way.) Вот самое короткое:

from matplotlib import rc, plot

font = {'family': 'Verdana',
        'weight': 'normal'}
rc('font', **font)

raw_data_filename = 'data_classify/raw_data_1.csv'
X_raw = np.loadtxt(raw_data_filename, delimiter=",")

xlabel(u'Скорость 1')
ylabel(u'Скорость 2')
title(u'Значения показателей')
plot(X_raw[:, 0], X_raw[:, 2], '+')
grid()

savefig('test_1.eps')

Получим что-то типа такого:

Все и в eps корректно сохранится, и покажет правильно.

ipython + pylab (matplotlib) в составe Enthought Python Distribution

Проблема: русские буквы отображаются прямоугольниками на графиках matplotlib.

Решение: необходимо задать подходящий backend для matplotlib. Для этого:

  1. Узнаем, где находится файл конфигурации matplotlib:
    >>> import matplotlib
    >>> matplotlib.matplotlib_fname()
    '/home/foo/.matplotlib/matplotlibrc'
    
  2. Находим в нем строку «backend: …»
  3. Если у вас MacOS заменяем на «backend: MacOSX», если что-то другое, то попробуйте что-нибудь другое, например, GTKAgg или Qt4Agg. Полный список можно найти здесь.