Символы с диакритикой в Matplotlib

Существует ли способ заставить 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.

20
задан Peter Mortensen 9 June 2012 в 11:13
поделиться

2 ответа

Приставьте к строкам префикс u , чтобы сообщить Python, что они являются строками Unicode:

ax.set_yticklabels([u'é', u'ã', u'â'])
15
ответ дан 30 November 2019 в 00:39
поделиться

Конечно. Вы можете использовать TeX:

from matplotlib import rcParams
rcParams['text.usetex'] = True
ax = ... # Axes object
ax.set_yticklabels(['$\'{e}$', '$\tilde{a}$', '$\hat{a}$'])
8
ответ дан 30 November 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: