Ответ 1
У этой проблемы может быть несколько причин:
Шрифт по умолчанию не включает эти глифы
Вы можете изменить шрифт по умолчанию, используя следующее (перед выполнением любого построения)!
matplotlib.rc('font', family='Arial')
В некоторых версиях matplotlib у вас будет следующее семейство:
matplotlib.rc('font', **{'sans-serif' : 'Arial',
'family' : 'sans-serif'})
(Обратите внимание, что поскольку sans-serif
содержит дефис внутри синтаксиса **{}
, это действительно необходимо.)
Первая команда изменяет семейство шрифтов sans-serif
, чтобы содержать только один шрифт (в моем случае это был Arial), второй устанавливает семейство шрифтов по умолчанию на sans-serif
.
Другие опции включены в документации.
Вы неправильно создали/передали строковые объекты в Matplotlib
Даже если шрифт содержит правильные глифы, если вы забыли использовать u
для создания констант Unicode, Matplotlib будет иметь такое поведение
plt.xlabel("Średnia odległość między stacjami wsparcia a modelowaną [km]")
Итак, вам нужно добавить u
:
plt.xlabel(u"Średnia odległość między stacjami wsparcia a modelowaną [km]")
Другая причина заключается в том, что вы забыли поставить UTF-8 магический комментарий поверх файла (я читал, что это может быть источником проблемы):
# -*- coding: utf-8 -*-