2012-10-09 10 views
17

Ich habe ein Bild und ein Maß mit jeder Spalte seiner Pixel verbunden. Ich benutze pyplot, um eine Figur mit dem Bild oben zu erstellen, und eine Zeichnung der Spaltenmessungen darunter. Ich verwende etwas in der Art:Matplotlib imshow() strecken, um "Breite anzupassen"

import numpy as np 
import matplotlib.pyplot as plt 

A = np.random.rand(34*52).reshape(34,52) 
means = np.average(A,axis=0) 

plt.figure() 

plt.subplot(2,1,1) 
plt.imshow(A, interpolation='nearest') 

plt.subplot(2,1,2) 
plt.plot(means) 

plt.show() 

Wie kann ich die Breite des Bildes auf die Übereinstimmung der Plots strecken. Wenn Sie sich die Messungen in der Zeichnung ansehen, befinden sich die Souce-Pixel in einer Spalte direkt darüber.

+0

für Matlab Fragen verwende besser http://stats.stackexchange.com/ – Yekver

+0

Noch eine weitere Stapel Austauschstelle wusste ich nicht über! Ich wünschte, dass mein Login für alle funktioniert ... kann das migriert werden, oder soll ich es erneut veröffentlichen? – ajwood

+0

Ich weiß es nicht genau, aber ich denke, du solltest das umschreiben. – Yekver

Antwort

37

Es stellt sich heraus, dass es so einfach ist, aspect='auto' zu dem imshow Aufruf zu geben.

plt.imshow(A, interpolation='nearest', aspect='auto') 
Verwandte Themen