Wie konvertiere ich (oder skaliere) Achsenwerte und definiere die Tick Frequenz in Matplotlib neu?
Ich bin das anzeigen eines jpg-Bildes (I drehen Sie diese um 90 Grad, falls dies relevant ist) und natürlich
die Achsen-Anzeige der pixel-Koordinaten. Ich würde gerne konvertieren Sie die Achse, so dass statt der Anzeige der pixel-Zahl ist, zeigt mein Gerät der Wahl sein, sei es, Radiant, Grad, oder in meinem Fall eine Astronomische Koordinate. Ich weiß, die Konvertierung von pixel zu (zB) Grad. Hier ist ein Ausschnitt von dem, was mein code sieht wie derzeit:
import matplotlib.pyplot as plt
import Image
import matplotlib
thumb = Image.open(self.image)
thumb = thumb.rotate(90)
dpi = plt.rcParams['figure.dpi']
figsize = thumb.size[0]/dpi, thumb.size[1]/dpi
fig = plt.figure(figsize=figsize)
plt.imshow(thumb, origin='lower',aspect='equal')
plt.show()
...so jetzt kann ich jeden Wert, der matplotlib würde Druck auf die Achse und ändern/ersetzen Sie es mit einem string für die Ausgabe statt? Ich würde dies tun wollen, für eine bestimmte Koordinate format - z.B. anstatt einem Winkel von 10.44 (Grad), würde ich mag es zu Lesen 10 26' 24" (dh, Grad, arcmins, arcsecs)
Endlich auf dieses Thema, möchte ich die Kontrolle über die tick-Frequenz, auf dem Grundstück. Matplotlib kann drucken Sie die Achse mit dem Wert von jeweils 50 Pixeln, aber ich würde wirklich wollen, dass es jedem (zum Beispiel) Grad.
Es klingt wie ich möchte, um zu definieren, eine Art von array mit Pixelwerten und deren umgewandelten Werte (Grad, etc.), dass ich angezeigt werden soll, die Kontrolle über die sampling-Frequenz über den Bereich von xmin/xmax-Bereich.
Gibt es matplotlib Experten auf Stack Overflow? Wenn dem so ist, vielen Dank im Voraus für Eure Hilfe! Um diese weitere Erfahrung des Lernens, ich würde wirklich zu schätzen, stieß in die Richtung tutorials etc auf diese Art von matplotlib problem. Ich habe festgestellt, mich immer sehr verwirrt mit Achsen, Achsen, Figuren, Künstler, etc!!!
Cheers,
Dave
InformationsquelleAutor der Frage Dave | 2009-07-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht es aus wie Sie ' re Umgang mit der
matplotlib.pyplot
- Schnittstelle, was bedeutet, dass Sie werde in der Lage sein zu umgehen, die meisten der Umgang mit Künstlern, Achsen und dergleichen. Sie können Steuern, die Werte und Beschriftungen der hilfsstriche durch die Verwendung dermatplotlib.pyplot.xticks
Befehl wie folgt:Für Ihre speziellen Beispiel müssen Sie, um zu berechnen, was die Häkchen sind relativ zu den Einheiten (also Pixel) von Ihrer ursprünglichen plot (da Sie
imshow
) - Sie sagte, Sie wissen, wie Sie dies tun, obwohl.Habe ich nicht behandelt mit Bildern viel, aber Sie können möglicherweise verwenden Sie einen anderen Zeichenmethode (z.B.
pcolor
), das Ihnen erlaubt, um die Versorgungx
undy
Informationen. Können Sie ein paar mehr Optionen zur Angabe der Einheiten von Ihrem Bild.Für tutorials, würden Sie gut tun, sich durch die matplotlib-Galerie - etwas finden, das Ihnen gefällt, und Lesen Sie den code, den es produziert. Einer der Jungs in unserem Büro vor kurzem ein Buch gekauft auf Python-Visualisierung -, die möglicherweise lohnt ein Blick auf.
So, daß ich in der Regel denken Sie an all die verschiedenen Stücke ist wie folgt:
Figure
ist ein container für alleAxes
Axes
ist der Raum, in dem, was Sie zeichnen (also das Grundstück) tatsächlich zeigt sichAxis
ist der eigentlichex
undy
Achsenpyplot
Modul in der Produktion Grundstücke.InformationsquelleAutor der Antwort Tim Whitcomb