Ajouter sur une simple figure une légende avec du texte et une boîte de couleur avec matplotlib

Published: 12 février 2019

DMCA.com Protection Status

Avec matplotlib on peut facilement ajouter manuellement sur une simple figure une légende avec du texte et une boîte de couleur avec le module patches, exemple:

Ajouter sur une simple figure une légende une boîte de couleur avec matplotlib
Ajouter sur une simple figure une légende une boîte de couleur avec matplotlib

import matplotlib.patches as mpatches
import matplotlib.pyplot as plt

red_patch = mpatches.Patch(color='red', label='The red data')
plt.legend(handles=[red_patch])

plt.savefig("proxy_artists.png")
plt.show()

Un autre exemple:

Ajouter sur une simple figure une légende une boîte de couleur avec matplotlib
Ajouter sur une simple figure une légende une boîte de couleur avec matplotlib

import matplotlib.pyplot as plt
import scipy.stats
import numpy as np

x_min = 0.0
x_max = 30.0

#----------------------------------------------------------------------------------------#
# Population B

mean = 9.0 
std = 2.0

x = np.linspace(x_min, x_max, 100)

y = scipy.stats.norm.pdf(x,mean,std)

plt.plot(x,y, color='black')

plt.fill_between(x, y, color='#89bedc', alpha='1.0')

#----------------------------------------------------------------------------------------#
# Population A

mean = 15.0 
std = 4.0

x = np.linspace(x_min, x_max, 100)

y = scipy.stats.norm.pdf(x,mean,std)

plt.plot(x,y, color='black')

plt.fill_between(x, y, color='#0b559f', alpha='1.0')

#----------------------------------------------------------------------------------------#
# legend

import matplotlib.patches as mpatches

pop_a = mpatches.Patch(color='#0b559f', label='Population A')
pop_b = mpatches.Patch(color='#89bedc', label='Population B')

plt.legend(handles=[pop_a,pop_b])

#----------------------------------------------------------------------------------------#

plt.grid()

plt.xlim(x_min,x_max)
plt.ylim(0,0.25)

plt.title('How to use ROC curve to test a dicrete classifier ?',fontsize=10)

plt.xlabel('x')
plt.ylabel('Probability Density Function')

plt.savefig("roc_curve_discrete_classifier_02.png")
plt.show()

Références

Links Site
Proxy artists matplotlib doc
Image

of