Etiketler, Başlıklar ve Şekilleri Kaydetme
Eksen etiketleri, başlık, açıklama ve işaret biçimlendirmesi ekleyin; ardından yayın kalitesinde şekilleri savefig() ile kaydedin.
Etiketler, Başlıklar ve Şekilleri Kaydetme, CoddyKit'te ücretsiz bir Pandas & NumPy Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Pandas & NumPy Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Pandas & NumPy Academy kursu toplamda 4 dersten oluşur.
Grafikten Yayına
Bir grafik, ancak eksenleri etiketlenmişse, başlığı çıkarılacak sonucu açıklıyorsa ve hedeflenen ortam için yeterince yüksek çözünürlükte kaydedilmişse etkilidir. Bu derste, hızlı bir keşif grafiğini rapora, gösterge tablosuna veya akademik yayına uygun, özenle hazırlanmış bir şekle dönüştüren son dokunuşlar ele alınır: eksen etiketleri, tik biçimlendirme, başlıklar, göstergeler, açıklamalar ve dosya dışa aktarma.
set_xlabel ve set_ylabel ile Eksen Etiketleri
ax.set_xlabel() ve ax.set_ylabel() ile açıklayıcı eksen etiketleri belirleyin. Etikete her zaman birimleri ekleyin (örneğin yalnızca 'Revenue' yerine 'Revenue (USD)'). Sunumlarda etiketleri büyütmek için fontsize, işaretler büyük olduğunda eksen ile etiket metni arasına boşluk eklemek için labelpad kullanın.
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(figsize=(7, 4))
x = np.arange(1, 13)
y = np.random.randint(100, 500, 12)
ax.plot(x, y, 'o-', color='steelblue')
ax.set_xlabel('Month', fontsize=12, labelpad=8)
ax.set_ylabel('Revenue (USD thousands)', fontsize=12, labelpad=8)
# plt.show()
plt.close()set_title ve suptitle ile başlıklar
ax.set_title(), tek bir Axes'in üzerine başlık yerleştirir. Birden çok panel içeren şekillerde fig.suptitle(), tüm alt grafiklerin üzerine ortak bir başlık ekler. Yazı boyutunu fontsize ile, dikey konumu ise y ile denetleyin (varsayılan değer 1.0'dır). İyi bir başlık, yalnızca eksenlerin ne olduğunu belirtmek yerine grafiğin ana çıkarımını ifade eder; 'Monthly Revenue' ile 'Revenue Peaked in Q3 and Fell 20% in Q4' ifadelerini karşılaştırın.
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))
ax1.plot([1,2,3], [1,4,9])
ax1.set_title('Subplot One', fontsize=11)
ax2.bar(['A','B','C'], [3,7,2])
ax2.set_title('Subplot Two', fontsize=11)
# Shared figure title
fig.suptitle('Annual Overview Dashboard', fontsize=14, fontweight='bold', y=1.02)
plt.tight_layout()
plt.close()İşaret Etiketlerini Denetleme
Matplotlib'in varsayılan işaret etiketleri çoğu zaman yeterlidir; ancak bazen özel etiketlere ihtiyaç duyarsınız. İşaretlerin konumlarını belirtmek için ax.set_xticks(), etiketleri ayarlamak için ax.set_xticklabels() kullanın. Uzun etiketleri eğerek üst üste binmelerini önlemek için rotation=45 geçirin. ha='right' (yatay hizalama) parametresi, döndürülmüş etiketlerin kendi işaretlerine doğru şekilde hizalanmasını sağlar.
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
values = np.random.randint(200, 600, 12)
fig, ax = plt.subplots(figsize=(9, 4))
ax.bar(range(12), values, color='steelblue')
ax.set_xticks(range(12))
ax.set_xticklabels(months, rotation=45, ha='right', fontsize=10)
ax.set_ylabel('Revenue')
plt.tight_layout()
plt.close()İşaret Değerlerini Biçimlendirme
İşaret değerlerini insanlar tarafından kolay okunabilen bir biçimde görüntülemek için matplotlib.ticker biçimlendiricilerini kullanın. FuncFormatter, işaret değerini alan ve biçimlendirilmiş bir dize döndüren bir işlev alır. Yaygın biçimler şunlardır: binlik ayırıcı, para birimi simgesi, yüzde işareti ve bilimsel gösterim. ax.yaxis.set_major_formatter(formatter) ile uygulayın.
from matplotlib.ticker import FuncFormatter
def millions_fmt(x, pos):
return f'${x/1e6:.1f}M'
fig, ax = plt.subplots(figsize=(7, 4))
ax.bar(['Q1', 'Q2', 'Q3', 'Q4'], [1.2e6, 1.8e6, 2.1e6, 1.9e6], color='steelblue')
ax.yaxis.set_major_formatter(FuncFormatter(millions_fmt))
ax.set_title('Quarterly Revenue')
ax.set_ylabel('Revenue')
plt.tight_layout()
plt.close()ax.legend() ile Açıklamalar
label parametresi ayarlanmış tüm grafik öğeleri için bir açıklama görüntülemek üzere ax.legend() çağrısını kullanın. loc (konum; örneğin 'upper right', 'lower left'), ncol (sütun sayısı), framealpha (kutunun saydamlığı) ve fontsize ile özelleştirin. Açıklamayı grafik alanının dışına yerleştirmek için bbox_to_anchor ile loc değerini birlikte kullanın.
fig, ax = plt.subplots(figsize=(7, 4))
for region, color in [('East','steelblue'),('West','coral'),('North','green')]:
ax.plot(range(12), np.random.randint(100, 400, 12),
marker='o', label=region, color=color)
ax.legend(loc='upper right', ncol=1, framealpha=0.8, fontsize=10)
ax.set_title('Monthly Sales by Region')
plt.close()Metin Açıklamaları Ekleme
ax.annotate(text, xy=(x_point, y_point), xytext=(x_text, y_text), arrowprops=...), belirli bir veri noktasını gösteren isteğe bağlı bir okla birlikte metin etiketi ekler. Bunu bir grafikteki maksimum değerleri, aykırı değerleri veya önemli olayları vurgulamak için kullanın. arrowprops sözlüğü ok stilini denetler: arrowstyle='->' basit bir oktur.
y_vals = np.array([120, 180, 310, 250, 420, 380, 290])
x_vals = np.arange(len(y_vals))
peak_idx = np.argmax(y_vals)
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(x_vals, y_vals, 'o-', color='steelblue')
ax.annotate(f'Peak: {y_vals[peak_idx]}',
xy=(peak_idx, y_vals[peak_idx]),
xytext=(peak_idx - 2, y_vals[peak_idx] + 30),
arrowprops={'arrowstyle': '->', 'color': 'red'},
fontsize=10, color='red')
plt.close()Yatay ve Dikey Başvuru Çizgileri Ekleme
ax.axhline(y_value), belirtilen y değerinde Axes'in tüm genişliği boyunca yatay bir çizgi çizer. ax.axvline(x_value) ise dikey bir çizgi çizer. Her ikisi de color, linestyle ve linewidth parametrelerini kabul eder. Başvuru çizgileri, zaman serisi grafiklerinde hedefleri, eşikleri veya olay tarihlerini işaretlemek için yaygın olarak kullanılır.
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(range(10), np.random.randint(100, 400, 10), 'o-', color='steelblue')
# Target line
ax.axhline(y=250, color='red', linestyle='--', lw=1.5, label='Target')
# Event line
ax.axvline(x=5, color='orange', linestyle=':', lw=1.5, label='Campaign start')
ax.legend()
ax.set_title('Revenue vs Target')
plt.close()Temalarla Biçimlendirme
Matplotlib, kodu değiştirmeden tüm şekillerin genel görünümünü değiştiren, yerleşik birkaç stil sayfası içerir: 'seaborn-v0_8-whitegrid', 'fivethirtyeight', 'ggplot', 'bmh' vb. Bir stili betiğinizin başında plt.style.use('style_name') ile uygulayın. Bir stili yalnızca bir kod bloğu içinde uygulamak için bağlam yöneticisi olarak plt.style.context('style_name') kullanın.
# Apply a style globally
plt.style.use('seaborn-v0_8-whitegrid')
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(range(10), np.random.randn(10).cumsum())
ax.set_title('Seaborn Whitegrid Style')
plt.close()
# Reset to default
plt.rcdefaults()savefig() ile Şekilleri Kaydetme
fig.savefig('filename.png'), şekli bir dosyaya kaydeder. Önemli parametreler: dpi (inç başına nokta — ekran için 150, baskı için 300 kullanın), bbox_inches='tight' (etiketlerin kırpılmasını önler) ve format (uzantıdan otomatik olarak anlaşılır veya açıkça belirtilir). Yaygın biçimler: '.png' (raster, web için uygundur), '.pdf' (vektör, baskı için uygundur) ve '.svg' (vektör, Illustrator'da düzenlenebilir).
fig, ax = plt.subplots(figsize=(8, 5))
ax.plot(range(10), np.random.randn(10), 'o-')
ax.set_title('Export Example')
ax.set_xlabel('Step')
ax.set_ylabel('Value')
# Save as PNG (screen quality)
fig.savefig('/tmp/chart_screen.png', dpi=150, bbox_inches='tight')
# Save as PDF (print quality)
fig.savefig('/tmp/chart_print.pdf', dpi=300, bbox_inches='tight')
plt.close()
print('Figures saved.')Tam Örnek: Özenle Hazırlanmış Rapor Grafiği
Bu dersteki tüm teknikleri birleştiren eksiksiz bir iş akışı şöyledir: eksen etiketleri, biçimlendirilmiş y ekseni işaretleri, yatay hedef çizgisi, tepe noktasına eklenmiş bir açıklama ve yüksek çözünürlüklü PNG dışa aktarımı içeren özenle hazırlanmış bir zaman serisi grafiği. Bu, bir rapora veya gösterge tablosuna eklenecek tüm grafiklerde kullanacağınız şablondur.
from matplotlib.ticker import FuncFormatter
fig, ax = plt.subplots(figsize=(9, 5))
months = list(range(1, 13))
revenue = [120, 145, 132, 160, 175, 190, 210, 185, 220, 200, 240, 260]
peak = max(revenue)
peak_idx = revenue.index(peak)
ax.plot(months, revenue, 'o-', color='steelblue', lw=2, markersize=6)
ax.axhline(y=180, color='red', ls='--', lw=1.2, label='Target: $180K')
ax.annotate(f'Peak ${peak}K', xy=(peak_idx+1, peak),
xytext=(peak_idx-1.5, peak+15),
arrowprops={'arrowstyle': '->'}, fontsize=9)
ax.set_xticks(months)
ax.set_xticklabels(['Jan','Feb','Mar','Apr','May','Jun',
'Jul','Aug','Sep','Oct','Nov','Dec'], rotation=45, ha='right')
ax.yaxis.set_major_formatter(FuncFormatter(lambda x,p: f'${x:.0f}K'))
ax.set_title('2024 Monthly Revenue vs Target', fontsize=13, fontweight='bold')
ax.set_ylabel('Revenue')
ax.legend()
plt.tight_layout()
plt.close()Hızlı Kontrol
Bu dersteki etiketler, başlıklar ve şekilleri kaydetme konusundaki anlayışınızı sınayın.
Ders Özeti
Bu derste şunları öğrendiniz: set_xlabel()/set_ylabel()/set_title(), açıklayıcı metin ekler; FuncFormatter, işaret değerlerini para birimi veya yüzde olarak biçimlendirir; ax.annotate(), önemli veri noktalarını vurgulamak için işaretli metin etiketleri ekler; axhline()/axvline(), başvuru çizgileri çizer; dpi ve bbox_inches='tight' ile birlikte kullanılan fig.savefig() ise yayına hazır dışa aktarımlar üretir. Böylece Matplotlib Temelleri kursu tamamlanır — sırada istatistiksel grafikler için Seaborn var.
Yapay zeka eğitmeniyle Python öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“Etiketler, Başlıklar ve Şekilleri Kaydetme” dersi ücretsiz mi?
Evet — “Etiketler, Başlıklar ve Şekilleri Kaydetme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Pandas & NumPy Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Pandas & NumPy Academy kursu toplamda 4 dersten oluşur.
“Etiketler, Başlıklar ve Şekilleri Kaydetme” dersinde ne öğreneceğim?
Eksen etiketleri, başlık, açıklama ve işaret biçimlendirmesi ekleyin; ardından yayın kalitesinde şekilleri savefig() ile kaydedin. Pandas & NumPy Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Pandas & NumPy Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Pandas & NumPy Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Etiketler, Başlıklar ve Şekilleri Kaydetme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Pandas & NumPy Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Pandas & NumPy Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Şekil ve Eksen Mimarisi
- Çizgi ve Dağılım Grafikleri
- Çubuk Grafikler ve Histogramlar
- Etiketler, Başlıklar ve Şekilleri Kaydetme