Sto cercando di tracciare una figura senza segni di spunta o numeri su uno degli assi (uso gli assi in senso tradizionale, non la nomenclatura matplotlib!). Un problema che ho riscontrato è dove matplotlib regola i segni di spunta x (y) sottraendo un valore N, quindi aggiunge N alla fine dell'asse.
Questo può essere vago, ma il seguente esempio semplificato evidenzia il problema, con "6.18" come valore offensivo di N:
import matplotlib.pyplot as plt
import random
prefix = 6.18
rx = [prefix+(0.001*random.random()) for i in arange(100)]
ry = [prefix+(0.001*random.random()) for i in arange(100)]
plt.plot(rx,ry,'ko')
frame1 = plt.gca()
for xlabel_i in frame1.axes.get_xticklabels():
xlabel_i.set_visible(False)
xlabel_i.set_fontsize(0.0)
for xlabel_i in frame1.axes.get_yticklabels():
xlabel_i.set_fontsize(0.0)
xlabel_i.set_visible(False)
for tick in frame1.axes.get_xticklines():
tick.set_visible(False)
for tick in frame1.axes.get_yticklines():
tick.set_visible(False)
plt.show()
Le tre cose che vorrei sapere sono:
Come disattivare questo comportamento in primo luogo (anche se nella maggior parte dei casi è utile, non è sempre!) Ho guardato attraverso
matplotlib.axis.XAxis
e non riesco a trovare nulla di appropriatoCome posso far scomparire N (es.
X.set_visible(False)
)C'è comunque un modo migliore per fare quanto sopra? La mia trama finale sarebbe una sottotrama 4x4 in una figura, se questo è rilevante.