Matplotlib, avoir son propre style (couleurs ticks et valeurs de ticks)
Bonjour,
J'ai crée un module pour avoir mon propre style par défaut, que je range dans une variable self_style . J'importe ce module sur mes scripts utilisés pour faire des graphes
J'ai besoin d'avoir mes ticks de couleur '#A9A9A9' ( une sorte de gris) et mes valeurs en dessous des ticks en noir et non en gris, pour des questions de lisibilité.
Dans mon module de style, je pose donc :
self_style['xtick.color'] = '#A9A9A9'
self_style['ytick.color'] = '#A9A9A9'
=> Cela change mes couleurs de valeurs de ticks et les bars de ticks en '#A9A9A9'
Je suis donc obligé de rajouter dans mon programme à chaque tracé :
ax.tick_params(labelcolor='k')
On a alors bien : tick et axe en gris, valeurs en noir
- Est il possible de modifier cela dès le début dans mon module de style via la variable self_style ? Je ne le trouve pas et le but était de ne pas avoir à modifier ax.tick_params à chaque fois
- Question bonus : Est ce la meilleurs façon de procéder ? J'ai vu qu'il y avait des fichiers .MPLSTYLE comme bmh, ou classic, ou ggplot. Mais je n'ai pas trouvé d'explications sur comment créer mon propre style
Merci
Kaz
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| import matplotlib.pyplot as plt
import numpy as np
self_style = plt.rcParams.copy()
self_style['mathtext.fontset'] = 'custom'
self_style['mathtext.it'] = 'Arial:italic'
self_style['mathtext.rm'] = 'Arial'
self_style['axes.spines.top'] = False
self_style['axes.spines.right'] = False
self_style['axes.edgecolor'] ='#A9A9A9'
self_style['xtick.color'] = '#A9A9A9'
self_style['ytick.color'] = '#A9A9A9'
plt.rcParams.update(self_style)
if __name__ == '__main__':
t = np.linspace(0.0, 2.0, 201)
s = np.sin(2 * np.pi * t)
fig, ax = plt.subplots()
ax.plot(t, .7*s)
ax.tick_params(labelcolor='k')
plt.show() |