2017-01-22 22 views
9

kullanarak yan görüntülerini yan çizme:Ben böyle örnek bir şey için <code>matplotlib</code> kullanarak yan görüntülerini yan çizmek mümkün ne kadar merak matplotlib

:

enter image description here

aldığım en yakın budur

f, axarr = plt.subplots(2,2) 
axarr[0,0] = plt.imshow(image_datas[0]) 
axarr[0,1] = plt.imshow(image_datas[1]) 
axarr[1,0] = plt.imshow(image_datas[2]) 
axarr[1,1] = plt.imshow(image_datas[3]) 
:

enter image description here

Bu, kodu kullanılarak üretilmiştir

Ancak diğer resimlerin gösterilmesini sağlayamıyorum. Bunu yapmak için daha iyi bir yol olmalı diye düşünüyorum. İndeksleri tedavi etmeyi hayal edeceğimi sanıyordum. documentation'u inceledim, ancak yanlış olana bakabileceğimi hissediyorum. Bana bir örnek verebilir ya da bana doğru yönde işaret edebilir mi?

+0

belki bu faydalıdır: [Python, Matplotlib, komplo düzensiz ızgara ] (http://stackoverflow.com/questions/41644180/python-matplotlib-plotting-irregular-grid/41644458#41644458) – Lucas

+0

[plt.subplots() '] kullanımını gösteren örneklere bakın (http://matplotlib.org/examples/pylab_examples/subplots_demo.html). – Goyo

cevap

11

yüz sorun varolan eksenleri itiraz bir matplotlib.image.AxesImage olan imshow iadesini (atamak deneyin olmasıdır.

olacağını axarr farklı eksenlere görüntü verilerini planlamakla doğru yolu

f, axarr = plt.subplots(2,2) 
axarr[0,0].imshow(image_datas[0]) 
axarr[0,1].imshow(image_datas[1]) 
axarr[1,0].imshow(image_datas[2]) 
axarr[1,1].imshow(image_datas[3]) 

konsepti subplots için aynıdır, ve çoğu durumda, örneğin eksen pyplot (PLT) arayüzü ile aynı yöntemler sağlar. Örn ax biriyse Altbölüm ekseni, normal bir çizgi grafiği çizmek için plt.plot() yerine ax.plot(..) kullanırsınız. Bu aslında tam olarak kaynakta the page you link to dan bulunabilir.

7

Tüm resimlerinizi bir eksende çiziyorsunuz. İstediğiniz her eksen için bir tutamaç elde edin ve resimlerinizi buraya yerleştirin. böylece gibi: Daha fazla bilgi için

fig = plt.figure() 
ax1 = fig.add_subplot(2,2,1) 
ax1.imshow(...) 
ax2 = fig.add_subplot(2,2,2) 
ax2.imshow(...) 
ax3 = fig.add_subplot(2,2,3) 
ax3.imshow(...) 
ax4 = fig.add_subplot(2,2,4) 
ax4.imshow(...) 

burada bir göz: Karmaşık düzenleri için http://matplotlib.org/examples/pylab_examples/subplots_demo.html

, sen gridspec kullanarak düşünün olmalıdır: http://matplotlib.org/users/gridspec.html