Présentation du problème: On dispose par exemple d'un graphique réalisé avec matplotlib (dans notre exemple on a utilisé le code suivant qui est un nuage de points avec deux classes de couleurs différentes) et on souhaite utiliser les mêmes couleurs pour construire un autre graphique comme un histogramme. Avec python et matplotlib il est relativement simple de récupérer le code RGB pour une colormap donnée (voir):
>>> import pylab as pl
>>> cmap=pl.cm.Paired
>>> cmap(0.0)
(0.65098041296005249, 0.80784314870834351, 0.89019608497619629, 1.0)
>>> cmap(1.0)
(0.69411766529083252, 0.3490196168422699, 0.15686275064945221, 1.0)
>>>
On peut alors récupérer ces codes couleurs RGB et tracer l'histogramme:
import matplotlib.pyplot as plt
import pylab as pl
import numpy as np
counts_01 = [8,12,8,5,4,3,2,1,0,0]
counts_02 = [5,10,12,15,11,10,8,5,3,2]
fig = plt.figure()
ax = fig.add_subplot(111)
ind = np.arange(0,1,0.1)
width = 0.1
rects1 = ax.bar(ind+width/2.0, counts_01, width/2.0, color=(0.65098041296005249, 0.80784314870834351, 0.89019608497619629, 1.0), label='1')
rects2 = ax.bar(ind, counts_02, width/2.0, color=(0.69411766529083252, 0.3490196168422699, 0.15686275064945221, 1.0), label='2')
ax.set_ylabel('Counts')
pl.legend()
plt.savefig('BarsTwoColors.png')
plt.show()
Recherches associées
Liens | Site |
---|---|
SVM: Maximum margin separating hyperplane | scikit Doc |
How to convert data values into color information for matplotlib? | stackoverflow |
Cookbook / Matplotlib / Show colormaps | Scipy Doc |