Matplotlib, görselleştirme oluşturmak için güçlü araçlar sunar ve alt grafik boyutlarını özelleştirmek etkili iletişim için çok önemlidir. Bu makale, Matplotlib’te değişen boyutlarda alt grafikler oluşturmak için üç yöntemi inceleyerek her biri için net örnekler ve açıklamalar sağlar.
İçindekiler
- Esnek Alt Grafik Düzenleri için
gridspec
Kullanımı - Özlü Kontrol için
gridspec_kw
‘dan Yararlanma subplot2grid
ile Hassas Yerleştirme
Esnek Alt Grafik Düzenleri için gridspec
Kullanımı
matplotlib.gridspec
modülü, değişen boyutlarda alt grafikler oluşturmak için en esnek yaklaşımı sağlar. Bir ızgara tanımlamanıza ve ardından height_ratios
ve width_ratios
kullanarak göreceli boyutlarını kontrol ederek alt grafikleri bu ızgaranın belirli bölgelerine atamanıza olanak tanır.
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
fig = plt.figure(figsize=(10, 6))
gs = gridspec.GridSpec(nrows=2, ncols=2, height_ratios=[2, 1], width_ratios=[1, 2])
ax1 = fig.add_subplot(gs[0, 0])
ax2 = fig.add_subplot(gs[0, 1])
ax3 = fig.add_subplot(gs[1, :]) # İki sütunu kapsayan
ax1.plot([1, 2, 3], [4, 5, 6])
ax2.plot([1, 2, 3], [6, 4, 5])
ax3.plot([1, 2, 3, 4, 5], [2, 4, 1, 3, 5])
plt.tight_layout()
plt.show()
Bu kod, üst satırı alt satırdan iki kat daha uzun ve sağ sütunu sol sütundan iki kat daha geniş olacak şekilde 2×2’lik bir ızgara oluşturur. Her alt grafik daha sonra belirtilen alanına eklenir.
Özlü Kontrol için gridspec_kw
‘dan Yararlanma
Daha basit düzenler için, plt.subplots()
içindeki gridspec_kw
argümanı daha özlü bir alternatif sunar. Açık gridspec
nesnesi oluşturmayı gerektirmeden gridspec işlevselliğini doğrudan entegre eder.
import matplotlib.pyplot as plt
fig, axes = plt.subplots(2, 2, figsize=(10, 6), gridspec_kw={'height_ratios': [2, 1], 'width_ratios': [1, 2]})
axes[0, 0].plot([1, 2, 3], [4, 5, 6])
axes[0, 1].plot([1, 2, 3], [6, 4, 5])
axes[1, 0].plot([1, 2, 3], [2, 4, 1])
axes[1, 1].plot([1, 2, 3], [5, 3, 1])
plt.tight_layout()
plt.show()
Bu, gridspec
örneğiyle benzer bir sonucu ancak daha temiz bir sözdizimiyle elde eder. Burada her alt grafiğin tek bir hücreyi kapladığına dikkat edin; birden fazla hücreyi kapsamak daha esnek gridspec
yaklaşımını gerektirir.
subplot2grid
ile Hassas Yerleştirme
subplot2grid
işlevi, alt grafik yerleşimi üzerinde satır ve sütun indeksleri ve her alt grafiğin boyutunu ve ızgara içindeki konumunu tanımlamak için rowspan
ve colspan
öznitelikleri kullanarak hassas kontrol sağlar.
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(10, 6))
ax1 = plt.subplot2grid((2, 2), (0, 0), rowspan=1, colspan=1)
ax2 = plt.subplot2grid((2, 2), (0, 1), rowspan=1, colspan=2)
ax3 = plt.subplot2grid((2, 2), (1, 0), rowspan=1, colspan=2)
ax1.plot([1, 2, 3], [4, 5, 6])
ax2.plot([1, 2, 3], [6, 4, 5])
ax3.plot([1, 2, 3, 4, 5], [2, 4, 1, 3, 5])
plt.tight_layout()
plt.show()
Güçlü olmasına rağmen, subplot2grid
karmaşık düzenler için daha az okunabilir hale gelebilir. İhtiyaçlarınıza en uygun yöntemi seçin: Esneklik için gridspec
, özlü basit düzenler için gridspec_kw
ve bireysel alt grafik konumları üzerinde hassas kontrol için subplot2grid
.
Çakışan öğeleri önlemek ve temiz ve profesyonel bir görünüm sağlamak için her zaman plt.tight_layout()
kullanmayı unutmayın.