Data Visualization

Tüm Alt Grafikler İçin Birleştirilmiş Efsane Oluşturma: Matplotlib Efsanelerinde Ustalık

Spread the love

Matplotlib, görselleştirme oluşturmak için güçlü bir Python kütüphanesidir. Bununla birlikte, birden çok alt grafikle çalışırken, efsaneleri yönetmek karmaşık hale gelebilir. Bu makale, tüm alt grafiklerinizde tek, birleşik bir efsane oluşturmak için etkili yöntemler sunmaktadır.

İçerik Tablosu

Matplotlib’te Alt Grafikleri Anlamak

Alt grafikler, tek bir şekilde birden çok grafiği düzenler. Matplotlib’te, bunları matplotlib.pyplot.subplots() kullanarak oluşturursunuz; bu, bir şekil nesnesi ve bir dizi eksen nesnesi (alt grafik başına bir tane) döndürür.

import matplotlib.pyplot as plt

fig, axes = plt.subplots(2, 2)  # 2x2 alt grafik ızgarası

# Her alt grafikte veri çizimi
axes[0, 0].plot([1, 2, 3], [4, 5, 6], label='Çizgi 1')
axes[0, 1].plot([1, 2, 3], [7, 8, 9], label='Çizgi 2')
axes[1, 0].plot([1, 2, 3], [10, 11, 12], label='Çizgi 1')
axes[1, 1].plot([1, 2, 3], [13, 14, 15], label='Çizgi 2')

plt.show()

Bu, her birinin kendi efsanesine sahip 2×2 bir ızgara oluşturur. Bunları tek bir efsanede birleştireceğiz.

Yöntem 1: fig.legend() kullanımı

En basit yaklaşım, şekil nesnesinin legend() yöntemini kullanır. Bu, tüm efsane tutamaklarını ve etiketlerini toplamayı gerektirir.

import matplotlib.pyplot as plt

fig, axes = plt.subplots(2, 2)

lines1, = axes[0, 0].plot([1, 2, 3], [4, 5, 6], label='Çizgi 1')
lines2, = axes[0, 1].plot([1, 2, 3], [7, 8, 9], label='Çizgi 2')
lines3, = axes[1, 0].plot([1, 2, 3], [10, 11, 12], label='Çizgi 1')
lines4, = axes[1, 1].plot([1, 2, 3], [13, 14, 15], label='Çizgi 2')

# Benzersiz tutamakları ve etiketleri toplama
handles = [lines1, lines2] 
labels = [h.get_label() for h in handles]

fig.legend(handles, labels, loc='upper right')

plt.show()

Not: Efsanede çoğaltmaları önlemek için yalnızca benzersiz tutamaklar kullanıyoruz. loc, efsanenin konumunu belirtir.

Yöntem 2: Efsane Yerleşimi ve Görünümünün Özelleştirilmesi

Efsanenin konumunu, kenarlığını, yazı tipi boyutunu ve daha fazlasını özelleştirebilirsiniz.

import matplotlib.pyplot as plt

# ... (Yöntem 1'den çizim kodu) ...

fig.legend(handles, labels, loc='lower center', bbox_to_anchor=(0.5, -0.1), ncol=2, frameon=True, fontsize=12)

plt.show()

Burada, efsaneyi alt merkeze yerleştirdik, bbox_to_anchor ile dikey konumu ayarladık, iki sütun (ncol=2) kullandık, bir kenarlık ekledik (frameon=True) ve yazı tipi boyutunu artırdık.

Yöntem 3: Alt Grafik Başına Birden Çok Çizginin İşlenmesi

Bir alt grafik içinde birden çok çizgi için, tüm ilgili tutamakları ve etiketleri toplayın.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

line1, = ax.plot([1, 2, 3], [4, 5, 6], label='Çizgi 1')
line2, = ax.plot([1, 2, 3], [7, 8, 9], label='Çizgi 2')
line3, = ax.plot([1, 2, 3], [10, 11, 12], label='Çizgi 3')

fig.legend([line1, line2, line3], [line1.get_label(), line2.get_label(), line3.get_label()], loc='best')
plt.show()

Sonuç

Tüm alt grafikler için tek bir efsane oluşturmak, Matplotlib görselleştirmelerinizin netliğini ve okunabilirliğini artırır. Yukarıda gösterilen fig.legend() ve uygun tutamak/etiket yönetimi kullanan yöntemler, efsane yerleşimi ve görünümü üzerinde kontrol sunar.

SSS

  • S: Farklı çizgi stillerim varsa ne olur? C: Efsane bu farklılıkları otomatik olarak yansıtacaktır.
  • S: Aynı etiket için farklı renkler kullanabilir miyim? C: Evet, ancak efsane etiket başına yalnızca bir renk gösterecektir. Farklılaştırmak için farklı etiketler kullanın.
  • S: Efsanem grafiklerle örtüşüyor. C: bbox_to_anchor, loc, yazı tipi boyutu veya şekil boyutunu ayarlayın.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir