Ответ 1
Попробуйте использовать weight
вместо fontweight
.
Следуя этому примеру:
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
for i, label in enumerate(('A', 'B', 'C', 'D')):
ax = fig.add_subplot(2,2,i+1)
ax.text(0.05, 0.95, label, transform=ax.transAxes,
fontsize=16, fontweight='bold', va='top')
plt.show()
Я получаю этот вывод:
Почему мои ярлыки имеют нормальный вес, в то время как документация показывает, что это должно создавать жирные буквы A, B, C, D?
Дополнительная информация, это дает мне следующее предупреждение:
Warning (from warnings module):
File "C:\Python27\lib\site-packages\matplotlib\font_manager.py", line 1228
UserWarning)
UserWarning: findfont: Could not match :family=Bitstream Vera Sans:style=italic:variant=normal:weight=bold:stretch=normal:size=x-small. Returning C:\Python27\lib\site-packages\matplotlib\mpl-data\fonts\ttf\Vera.ttf
Попробуйте использовать weight
вместо fontweight
.
Не уверен, что у вас все еще есть проблема. Я пробовал ваш код в Anaconda/Spyder, Python 2.7. Графики отображаются жирным шрифтом (A, B, C, D). Я согласен, что проблема связана с библиотекой. Попробуйте заменить/обновить font_manager.py или подтвердить файлы шрифтов:
Lib\сайт-пакеты\Matplotlib\MPL-данные\Fonts\TTF\
Возможно, попробуйте использовать это -
plt.rcParams['axes.labelsize'] = 16
plt.rcParams['axes.labelweight'] = 'bold'
Сделайте это на глобальном уровне в своей программе.