Существует ли способ заставить Matplotlib представлять акцентируемые символы (é, ã, â, и т.д.)?
Например, я пытаюсь использовать символы с диакритикой на set_yticklabels()
и Matplotlib представляет квадраты вместо этого, и когда я использую unicode()
это представляет неправильные символы.
Существует ли способ сделать эту работу?
Оказывается, что можно использовать u "éã", но сначала необходимо установить кодирование файла:
# Using the magic encoding
# -*- coding: utf-8 -*-
После этого Matplotlib правильно представляет
u"é"
Я также узнал, что можно использовать
import matplotlib.font_manager as fm
fp1=fm.FontProperties(fname="/path/to/somefont.ttf")
ax.title("é",fontproperties=fp1)
в случае, если необходимо представить символы, которые не имеет Matplotlib.
Приставьте к строкам префикс u
, чтобы сообщить Python, что они являются строками Unicode:
ax.set_yticklabels([u'é', u'ã', u'â'])
Конечно. Вы можете использовать TeX:
from matplotlib import rcParams
rcParams['text.usetex'] = True
ax = ... # Axes object
ax.set_yticklabels(['$\'{e}$', '$\tilde{a}$', '$\hat{a}$'])