Ответ на на этот вопрос , по-видимому, предполагает, что один из способов установить свойства шрифта легенды заключается в следующем:
import pylab as plt
leg = plt.legend(framealpha = 0, loc = 'best')
for text in leg.get_texts():
plt.setp(text, color = 'w')
Который требует вызова plt.legend () и собирает все легенды и не различает определенные конкретные легенды. В моем коде у меня есть несколько разных графиков. Например, dicts1 и dicts2 - это словари, содержащие фреймы данных:
def compare_data(dicts1, dicts2):
for dic in dicts1:
df = dic['df']
style = dic['style']
plt.plot(df['time'], df['y'], **style)
## style contains the legend text
## use the default font
for dic in dicts2:
df = dic['df']
style = dic['style']
plt.plot(df['time'], df['y'], **style)
## only modify the font color for the legends of these !!
# finally draw the legend with the common properties:
plt.legend(loc = 'best', frameon=False)
Как мне изменить цвет шрифта для легенды только dict2, а не dict1? Значения цвета легенды для dict1 остаются значениями по умолчанию. Количество элементов в обоих словарях произвольно.