Matplotlib diverse direzioni di tick per un asse [duplicato]
Oct 11 2020
Problema semplice: con matplotlib, voglio avere questo stile predefinito:
Segni di spunta in basso e a sinistra: direzione fuori, etichetta in
alto e segni di spunta a destra: direzione dentro, etichetta off
Voglio avere questo stile come preset, quindi non devo farlo per ogni singola trama. Il codice seguente mi dà i segni di spunta in alto e a destra, ma non riesco a cambiare la loro direzione.
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()
Risposte
r-beginners Oct 11 2020 at 11:56
È possibile utilizzare x(y)ticks.directionper impostare i segni di spunta all'interno. È semplice aggiornare i parametri sotto forma di dizionario.
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()