imshow, wenn Sie das Plotten von Daten, nicht Bilder. Realtion zwischen Aspekt und Umfang?
Bin ich Plotten einer 2D-Daten-array mit imshow in matplotlib. Ich habe ein problem versuchen zu skalieren, das resultierende Diagramm. Die Größe des Arrays ist 30x1295 Punkte, aber das Ausmaß in den Einheiten sind:
extent = [-130,130,0,77]
Wenn ich plot-array, ohne das Ausmaß, bekomme ich den richtigen plot, aber wenn ich soweit bin, bekomme ich das Grundstück mit dem falschen Aspekt.
Es ist ein ziemlich Anfänger-Frage, aber es gibt immer ein erstes mal: Wie kann ich Steuern das Aussehen und die Größe des Grundstücks in der gleichen Zeit?
Danke,
Alex
P. D. Der code ist für den richtigen Fall:
imshow(np.log10(psirhoz+1e-5),origin='lower')
und für die falsche ein:
imshow(np.log10(psirhoz+1e-5),origin='lower',
extent =[z_ax.min(),z_ax.max(),rho_ax.min(),rho_ax.max()])
Ich hoffe das klären Sie etwas die Dinge.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich vermute, dass Sie wollen, sind "square" Pixel in der finalen plot?
Wenn wir zum Beispiel plot zufälligen Daten gleicht:
Bekommen wir ein Bild mit "gestreckten" Pixel:
Also, zunächst einmal, "Aspekt" in matplotlib bezieht sich auf den Aspekt Daten Koordinaten. Das heißt, wir haben zu springen durch ein paar Reifen zu bekommen, was Sie wollen.
In diesem Fall
pyplot.matshow()
könnte auch nützlich sein:Ergebnis: