550 Stimmen

Ausblenden von Achsentext in Matplotlib-Plots

Ich versuche, eine Abbildung ohne Tickmarks oder Zahlen auf einer der Achsen zu plotten (ich verwende Achsen im traditionellen Sinne, nicht die Matplotlib-Nomenklatur). Ein Problem, auf das ich gestoßen bin, ist, dass Matplotlib die x(y)-Ticklabels anpasst, indem es einen Wert N subtrahiert und dann N am Ende der Achse hinzufügt.

Dies mag vage sein, aber das folgende vereinfachte Beispiel verdeutlicht das Problem, wobei "6,18" der verletzende Wert von N ist:

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

Die drei Dinge, die ich gerne wissen möchte, sind:

  1. Wie man dieses Verhalten von vornherein ausschaltet (obwohl es in den meisten Fällen nützlich ist, ist es das nicht immer!), habe ich mir angesehen matplotlib.axis.XAxis und kann nichts Passendes finden

  2. Wie kann ich N verschwinden lassen (d.h. X.set_visible(False) )

  3. Gibt es eine bessere Möglichkeit, das oben genannte trotzdem zu tun? Meine endgültige Darstellung würde aus 4x4 Teilflächen in einer Abbildung bestehen, falls das relevant ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X