Ticks für AxesImage anpassen?

8

Ich habe ein Bilddiagramm mit ax = imshow() erstellt. ax ist ein AxesImage-Objekt, aber ich kann nicht die Funktion oder das Attribut finden, auf die ich zugreifen muss, um die Hilfsstrichbeschriftungen anzupassen. Die normalen Pyplots scheinen set_ticks und set_ticklabels Methoden zu haben, aber diese scheinen nicht verfügbar zu sein die AxesImage-Klasse. Irgendwelche Ideen? Danke ~

    
hatmatrix 15.09.2010, 09:29
quelle

1 Antwort

8

Was es wert ist, Sie verstehen etwas falsch, was imshow() zurückgibt, und wie Matplotlib-Achsen im Allgemeinen strukturiert sind ...

Ein AxesImage-Objekt ist für das angezeigte Bild (z. B. Colormaps, Daten usw.) verantwortlich, aber nicht für die Achse, in der das Bild gespeichert ist. Es hat keine Kontrolle über Dinge wie Ticks und Tick-Labels.

Was Sie verwenden möchten, ist die aktuelle Achseninstanz.

Sie können darauf mit gca() zugreifen, wenn Sie die Schnittstelle pylab verwenden, oder matplotlib.pyplot.gca wenn du über pyplot auf Dinge zugreifst. Wenn Sie jedoch einen der beiden verwenden, gibt es eine xticks() -Funktion zum Abrufen / Festlegen der Xtick-Beschriftungen und -Positionen.

Zum Beispiel (mit pylab):

%Vor%

Mit einem eher objektorientierten Ansatz (zufälligerweise werden die Getter und Setter von matplotlib schnell nervig ...):

%Vor%

Hoffe, dass die Dinge ein wenig aufräumen!

    
Joe Kington 15.09.2010, 21:25
quelle

Tags und Links