Я хочу создать высококачественные диаграммы для презентации. Im использует Pythons matplotlib для генерации графики. К сожалению, экспорт PDF, кажется, игнорирует мои настройки шрифта.
Я попытался установить шрифт, передав объект FontProperties
в функции рисования текста и установив параметр глобально. Для записи здесь MWE воспроизводит проблему:
import scipy
import matplotlib
matplotlib.use('cairo')
import matplotlib.pylab as pylab
import matplotlib.font_manager as fm
data = scipy.arange(5)
for font in ['Helvetica', 'Gill Sans']:
fig = pylab.figure()
ax = fig.add_subplot(111)
ax.bar(data, data)
ax.set_xticks(data)
ax.set_xticklabels(data, fontproperties = fm.FontProperties(family = font))
pylab.savefig('foo-%s.pdf' % font)
В обоих случаях полученный результат идентичен и использует Helvetica (и да, у меня есть оба шрифта).
Чтобы быть уверенным, следующее не поможет:
matplotlib.rc('font', family = 'Gill Sans')
Наконец, если я заменил бэкэнд, вместо этого, используя собственный просмотрщик:
matplotlib.use('MacOSX')
Я получаю правильный шрифт, но только в GUI зрителя. Выход PDF снова ошибочен.
Конечно. Я могу установить другие шрифты, но только другие классы семейств шрифтов: я могу установить шрифты serif
или fantasy
или monospace
. Но все шрифты sans-serif, по-видимому, не соответствуют Helvetica.