Mis a jour le 2017-09-24, 21:34

Couleurs sous matplotlib

Les couleurs peuvent être indiquées de différentes façons :
Exemple de graphe avec différentes couleurs exprimées sous différentes formes : pyplot.figure() pyplot.scatter(range(5), [x ** 2 for x in range(5)], s = 100, color = ['blue', (0.2, 0.9, 0.1), '0.70', 'r', '#ffee00']) pyplot.title('differentes couleurs sous differentes formes')
Pour avoir la liste des noms de couleurs disponibles : matplotlib.colors.cnames renvoie un dictionnaire nom de couleur vers couleur HTML : {'indigo': '#4B0082', 'gold': '#FFD700', ...}.
Couleurs disponibles sous forme textuelle : import matplotlib import colorsys columnNbr = 5 colorNames = matplotlib.colors.cnames.keys() colorNames.sort(key = lambda x: colorsys.rgb_to_hsv( *matplotlib.colors.colorConverter.to_rgb(matplotlib.colors.cnames[x]))) colorNbr = len(colorNames) rowNbr = (colorNbr - 1) / columnNbr + 1 width = 1.0 / columnNbr height = 1.0 / rowNbr figure = pyplot.figure(figsize = (10, 10)) figure.subplots_adjust(0, 0, 1, 1) axes = figure.add_subplot(111) axes.set_frame_on(False) axes.xaxis.set_visible(False) axes.yaxis.set_visible(False) for i in range(rowNbr): y = 1 - (i + 1) * height for j in range(columnNbr): ind = j + columnNbr * i if ind >= len(colorNames): break x = j * width axes.add_artist(matplotlib.patches.Rectangle((x, y), width, height, color = colorNames[ind])) (r, g, b) = matplotlib.colors.colorConverter.to_rgb(colorNames[ind]) Y = 0.2126 * r + 0.7152 * g + 0.0722 * b if Y > 0.5: textColor = 'black' else: textColor = 'white' axes.text(x + width / 30, y + height / 2, colorNames[ind], color = textColor)
matplotlib.colors.colorConverter : objet singleton qui permet de convertir une couleur de n'importe quel format en triplet RGB :

Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert