2012-05-10 23 views
35

Matlab'taki imagesc() öğesine benzediğinden, imshow() kullanarak numpy dizisini görselleştirmeye çalışıyorum.imshow() çok küçük

imshow(random.rand(8, 90), interpolation='nearest') 

Ortaya çıkan rakam gri pencerenin ortasında çok küçüktür, oysa alanın çoğu boştur. Rakamı büyütmek için parametreleri nasıl ayarlayabilirim? Figsize = (xx, xx) denedim ve istediğim şey değil. Teşekkürler! garip

cevap

64

, sizin matplotlibrc yılında image.aspect değerini kullanacaktır. Yeni bir matplotlibrc'daki bu değer için varsayılan değer equal'dur. imshow, dizininizi eşit en boy oranına göre çizecektir.

Eğer ayarlayabilirsiniz eşit yönü gerekmiyorsa aspect aşağıdaki şekil

verir auto

imshow(random.rand(8, 90), interpolation='nearest', aspect='auto') 

için

imshow-auto

Eğer zorunda eşit boy oranı istiyorsanız

fig, ax = subplots(figsize=(18, 2)) 
ax.imshow(random.rand(8, 90), interpolation='nearest') 
tight_layout() 
yönergesine göre figsize uyarlayın

imshow-equal

: verir

7

, kesinlikle benim için çalışıyor: Btw, "MacOSX" arka uç kullanıyorum

figure(figsize = (20,2)) 
imshow(random.rand(8, 90), interpolation='nearest') 

.

0

Python'da da yeniyim. İşte bu gibi bir şey istediğin şeyi yapacaktır

axes([0.08, 0.08, 0.94-0.08, 0.94-0.08]) #[left, bottom, width, height] 
axis('scaled')` 

Bunun tuvalin boyutuna karar vereceğini düşünüyorum. Eğer imshow bir aspect argüman vermezseniz

İlgili konular