Цвет заголовка фигуры (не осей) в Matplotlib ⇐ Python
Цвет заголовка фигуры (не осей) в Matplotlib
У меня возникли трудности с изменением цвета заголовка моей фигуры в Matplotlib.
У меня есть рисунок, содержащий подграфики:
импортировать matplotlib как mpl импортировать matplotlib.pyplot как plt fig, ax = plt.subplots(3, 4,sharex='all',sharey='all', figsize=(20, 9), dpi=600) На рисунке имеется 10 подграфиков с данными, использующими одни и те же символы на каждом графике, поэтому мне нужна совместная легенда для рисунка, а не для каждой оси.
Я закрыл верхнюю правую и среднюю правую оси — я хочу, чтобы легенда располагалась здесь:
ax[0,3].axis('выкл') топор[1,3].ось('выкл') Я создал элементы легенды:
legend_elements = [Line2D([0], [0],marker='x', color='w',markeredgecolor='b', label='Измеренные точки данных'), Line2D([0], [0],marker='o', color='w',markeredgecolor='g', label='Средство точек данных'), Line2D([0], [0], color='r', label='Кривая, подобранная к модели')] При написании легенды мне очень трудно изменить цвет текста заголовка. Я попробовал следующие примеры:
legend = fig.legend(handles=legend_elements, fontsize=10, labelcolor='c', loc='нижний левый', bbox_to_anchor=(0.77, 0.63, 1, 1)) Legend.set_title('Легенда\n', цвет='c') Ошибка типа: Legend.set_title() получил неожиданный аргумент ключевого слова «цвет». ...
plt.setp(legend.get_title(), color='c') AttributeError: объект «NoneType» не имеет атрибута «get_title». ...
fig.setp(legend.get_title(), color='c') AttributeError: объект «NoneType» не имеет атрибута «get_title». ...
legend._legend_title_box._text.set_color(color('earth')) AttributeError: объект «NoneType» не имеет атрибута «_legend_title_box» Я также просмотрел FontProperties, что-то вроде следующего, но, насколько я могу судить, FontProperties не имеет цветового kwarg:
импортировать matplotlib.font_manager как font_manager Legend_title_props = font_manager.FontProperties(color='c') легенда = fig.legend(handles=legend_elements, fontsize=10, labelcolor='c', loc='нижний левый', bbox_to_anchor=(0.77, 0.63, 1, 1), title='Легенда', title_fontsize=10, title_fontproperties=legend_title_props) Есть ли у кого-нибудь обходной путь? Других вариантов в сети я не нашел. У меня такое ощущение, что это связано с тем, что моя легенда хранится как объект NoneType, но я не могу понять, что я делаю неправильно, что привело к этому.
У меня возникли трудности с изменением цвета заголовка моей фигуры в Matplotlib.
У меня есть рисунок, содержащий подграфики:
импортировать matplotlib как mpl импортировать matplotlib.pyplot как plt fig, ax = plt.subplots(3, 4,sharex='all',sharey='all', figsize=(20, 9), dpi=600) На рисунке имеется 10 подграфиков с данными, использующими одни и те же символы на каждом графике, поэтому мне нужна совместная легенда для рисунка, а не для каждой оси.
Я закрыл верхнюю правую и среднюю правую оси — я хочу, чтобы легенда располагалась здесь:
ax[0,3].axis('выкл') топор[1,3].ось('выкл') Я создал элементы легенды:
legend_elements = [Line2D([0], [0],marker='x', color='w',markeredgecolor='b', label='Измеренные точки данных'), Line2D([0], [0],marker='o', color='w',markeredgecolor='g', label='Средство точек данных'), Line2D([0], [0], color='r', label='Кривая, подобранная к модели')] При написании легенды мне очень трудно изменить цвет текста заголовка. Я попробовал следующие примеры:
legend = fig.legend(handles=legend_elements, fontsize=10, labelcolor='c', loc='нижний левый', bbox_to_anchor=(0.77, 0.63, 1, 1)) Legend.set_title('Легенда\n', цвет='c') Ошибка типа: Legend.set_title() получил неожиданный аргумент ключевого слова «цвет». ...
plt.setp(legend.get_title(), color='c') AttributeError: объект «NoneType» не имеет атрибута «get_title». ...
fig.setp(legend.get_title(), color='c') AttributeError: объект «NoneType» не имеет атрибута «get_title». ...
legend._legend_title_box._text.set_color(color('earth')) AttributeError: объект «NoneType» не имеет атрибута «_legend_title_box» Я также просмотрел FontProperties, что-то вроде следующего, но, насколько я могу судить, FontProperties не имеет цветового kwarg:
импортировать matplotlib.font_manager как font_manager Legend_title_props = font_manager.FontProperties(color='c') легенда = fig.legend(handles=legend_elements, fontsize=10, labelcolor='c', loc='нижний левый', bbox_to_anchor=(0.77, 0.63, 1, 1), title='Легенда', title_fontsize=10, title_fontproperties=legend_title_props) Есть ли у кого-нибудь обходной путь? Других вариантов в сети я не нашел. У меня такое ощущение, что это связано с тем, что моя легенда хранится как объект NoneType, но я не могу понять, что я делаю неправильно, что привело к этому.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Класс осей - явно устанавливает размер (ширину/высоту) осей в заданных единицах.
Anonymous » » в форуме Python - 0 Ответы
- 54 Просмотры
-
Последнее сообщение Anonymous
-