Подчеркивание в метке не оказывает - PullRequest
1 голос
/ 01 апреля 2020

Использование подчеркивания в метке фактически не создает подчеркивание. Я не уверен, что происходит

Минимальный рабочий пример:

variable = range(5)
plt.plot(variable, variable, label='test_underscore')
plt.plot(variable, variable, label='escape\_underscore')
plt.plot(variable, variable, label=r'rawtest_underscore')
plt.plot(variable, variable, label=r'rawescape\_underscore')
_=plt.legend()

enter image description here

Редактировать:

Здесь мои rcParams:

plt.rcParams.update({
            'font.family': 'serif',
            'font.serif': 'cmr10',
            'mathtext.fontset': 'cm',
            'axes.unicode_minus': False,
            'font.size': 11,
            'figure.dpi': 200,
            'lines.linewidth': 0.5,
            'axes.grid': True
})

Когда я бегу без этого, я работаю правильно: enter image description here

1 Ответ

3 голосов
/ 01 апреля 2020

Шрифт cmr10 является виновником. Это связанный шрифт с matplotlib, но на самом деле он не содержит символа подчеркивания. Из FontForge:

enter image description here

С этого веб-сайта , символ подчеркивания Unicode для U+005f, который мы можем видеть из Приведенное выше изображение сопоставлено с овердотом. Вот почему мы видим на этикетке овердот вместо подчеркивания. Я буду отправлять вопрос с Matplotlib о проблеме. Надеюсь, мы сможем исправить шрифт правильно.

Редактировать: github проблема здесь (# 16995)

Решение:

Оказывается, что У TeX изначально не было кодировок для подчеркивания.

Поэтому единственное решение - использовать другой шрифт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...