Matplotlib différentes directions de graduation pour un axe [dupliquer]
Oct 11 2020
Problème simple: avec matplotlib, je souhaite avoir ce style prédéfini:
Coches en bas et à gauche: direction vers l'extérieur, étiquette en
haut et à droite: direction vers l'intérieur , étiquette désactivée
Je veux avoir ce style comme préréglage, donc je n'ai pas à le faire pour chaque intrigue. Le code suivant me donne les graduations en haut et à droite, mais je n'arrive pas à changer leur direction.
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["xtick.top"] = True
plt.rcParams["ytick.right"] = True
somearray=np.arange(0.0, 1.0, 0.1)
plt.figure()
plt.plot(somearray[:], somearray[:])
plt.xlabel('x')
plt.ylabel('y')
plt.show()
Réponses
r-beginners Oct 11 2020 at 11:56
Vous pouvez utiliser x(y)ticks.directionpour définir les tiques à l'intérieur. Il est simple de mettre à jour les paramètres sous la forme d'un dictionnaire.
import numpy as np
import matplotlib.pyplot as plt
# plt.rcParams["xtick.top"] = True
# plt.rcParams["ytick.right"] = True
# plt.rcParams['xtick.direction'] = 'in'
# plt.rcParams['ytick.direction'] = 'in'
params = {"xtick.top": True, "ytick.right": True, "xtick.direction": "in", "ytick.direction": "in"}
plt.rcParams.update(params)
somearray = np.arange(0.0, 1.0, 0.1)
plt.figure()
plt.plot(somearray[:], somearray[:])
plt.xlabel('x')
plt.ylabel('y')
plt.show()