Changer la couleur de l'axe, des tiques et des étiquettes pour une parcelle en matplotlib

J'aimerais changer la couleur de l'axe, ainsi que les tiques et les étiquettes de valeur pour une parcelle que j'ai fait en utilisant matplotlib un PyQt.

des idées?

54
demandé sur Richard Durr 2011-01-21 20:07:49

2 réponses

comme exemple rapide (en utilisant une méthode légèrement plus propre que la question potentiellement dupliquée):

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

ax.plot(range(10))
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')

ax.spines['bottom'].set_color('red')
ax.spines['top'].set_color('red')
ax.xaxis.label.set_color('red')
ax.tick_params(axis='x', colors='red')

plt.show()

alt text

91
répondu Joe Kington 2011-01-21 17:44:30

si vous avez plusieurs figures ou sous-lots que vous voulez modifier, il peut être utile d'utiliser le matplotlib context manager pour changer la couleur, au lieu de changer chacun individuellement. Le gestionnaire de contexte vous permet de modifier temporairement les paramètres rc uniquement pour le code indenté suivant, mais n'affecte pas les paramètres rc globaux.

cet extrait donne deux chiffres, le premier avec des couleurs modifiées pour le axe, les tiques et les ticklabels, et la seconde avec la valeur par défaut rc paramètres.

import matplotlib.pyplot as plt
with plt.rc_context({'axes.edgecolor':'orange', 'xtick.color':'red', 'ytick.color':'green', 'figure.facecolor':'white'}):
    # Temporary rc parameters in effect
    fig, (ax1, ax2) = plt.subplots(1,2)
    ax1.plot(range(10))
    ax2.plot(range(10))
# Back to default rc parameters
fig, ax = plt.subplots()
ax.plot(range(10))

enter image description here

enter image description here

vous pouvez taper plt.rcParams pour voir tous les paramètres rc disponibles, et utiliser la compréhension de liste pour rechercher des mots-clés:

# Search for all parameters containing the word 'color'
[(param, value) for param, value in plt.rcParams.items() if 'color' in param]
19
répondu joelostblom 2017-01-07 21:59:18