Matplotlib alt noktaları arasındaki boşluk nasıl ayarlanır?
Matplotlib’de birden fazla grafiği yan yana görüntülemek için alt grafikleri sıklıkla kullanabilirsiniz. Ne yazık ki, bu alt noktalar varsayılan olarak örtüşme eğilimindedir.
Bu sorunu çözmenin en kolay yolu Matplotlib Tight_layout() fonksiyonunu kullanmaktır. Bu eğitimde bu fonksiyonun pratikte nasıl kullanılacağı açıklanmaktadır.
Alt grafikler oluşturun
2 sütun ve 2 satırdaki 4 alt grafikten oluşan aşağıdaki düzenlemeyi göz önünde bulundurun:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) #display subplots plt. show ()
Alt noktaların nasıl biraz örtüştüğüne dikkat edin.
Tight_layout() kullanarak alt grafik aralığını ayarlayın
Bu çakışma sorununu çözmenin en kolay yolu Matplotlib Tight_layout() fonksiyonunu kullanmaktır:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout () #display subplots plt. show ()
Alt konu başlıklarının aralığını ayarlayın
Bazı durumlarda alt konularınızın her biri için başlıklara da sahip olabilirsiniz. Ne yazık ki, Tight_layout() işlevi bile alt konu başlıklarının çakışmasına neden olma eğilimindedir:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout () #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #display subplots plt. show ()
Bunu düzeltmenin yolu, h_pad argümanını kullanarak alt noktalar arasındaki yükseklik dolgusunu arttırmaktır:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout (h_pad= 2 ) #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #display subplots plt. show ()
Genel başlık aralığını ayarlayın
Genel bir başlığınız varsa, bunun alt konu başlıklarıyla çakışmadığından emin olmak için subplots_adjust() işlevini kullanabilirsiniz:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout (h_pad= 2 ) #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #add overall title and adjust it so that it doesn't overlap with subplot titles fig.suptitle(' Overall Title ') plt.subplots_adjust(top= 0.85 ) #display subplots plt. show ()
Daha fazla Matplotlib eğitimini burada bulabilirsiniz.