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?
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()
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))
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]