Data Visualization

Matplotlib’de X Eksen İşaretleme Etiketlerinin Dönüşünü Ustalaştırma

Spread the love

Matplotlib’de uzun etiketler veya üst üste binen metinlerle uğraşırken x ekseni tik etiketlerini döndürmek yaygın bir işlemdir. Bu makale, çeşitli çizim senaryoları için esneklik sunarak, net ve okunabilir görselleştirmeler elde etmenin birkaç yöntemini ele almaktadır.

İçerik Tablosu

plt.xticks() Kullanımı

Bu, x ekseni tik etiketlerini döndürmek için en basit yaklaşımdır. rotation parametresi döndürme açısını doğrudan kontrol eder.


import matplotlib.pyplot as plt
import numpy as np

x = np.arange(10)
y = np.random.rand(10)
labels = ['Çok Uzun Etiket ' + str(i) for i in x]

plt.plot(x, y)
plt.xticks(x, labels, rotation=45, ha='right')  # ha='right' etiketleri sağa hizalar
plt.xlabel("X ekseni")
plt.ylabel("Y ekseni")
plt.title("X Ekseni Etiketlerini Döndürme")
plt.tight_layout()  # Üst üste binen etiketleri önler
plt.show()

ha='right' bağımsız değişkeni, döndürme sonrasında doğru hizalama için çok önemlidir. plt.tight_layout(), üst üste binen etiketleri önlemeye ve genel okunabilirliği iyileştirmeye yardımcı olur.

fig.autofmt_xdate() Kullanımı

Özellikle tarih etiketleri için tasarlanan fig.autofmt_xdate(), optimum okunabilirlik için döndürme ve hizalamayı otomatik olarak ayarlar.


import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime

dates = [datetime.date(2024, 1, i) for i in range(1, 11)]
values = np.random.rand(10)

fig, ax = plt.subplots()
ax.plot(dates, values)
fig.autofmt_xdate(rotation=45)
plt.show()

Bu yöntem, zaman serisi verileriyle çalışırken, tarih biçimlendirmesini ve etiket yerleşimini otomatik olarak ele alarak işlemi basitleştirir.

ax.set_xticklabels() Kullanımı

Bu yöntem, döndürmeden önce etiketleri özelleştirmenize izin vererek daha fazla kontrol sunar.


import matplotlib.pyplot as plt
import numpy as np

x = np.arange(10)
y = np.random.rand(10)
labels = ['Etiket ' + str(i) for i in x]

fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_xticklabels(labels, rotation=70)
plt.show()

plt.setp() Kullanımı

plt.setp(), döndürme dahil olmak üzere mevcut tik etiketi özelliklerini değiştirmenin özlü bir yolunu sağlar.


import matplotlib.pyplot as plt
import numpy as np

x = np.arange(10)
y = np.random.rand(10)

fig, ax = plt.subplots()
ax.plot(x, y)
plt.setp(ax.get_xticklabels(), rotation=30)
plt.show()

ax.tick_params() Kullanımı

Döndürme dahil olmak üzere çeşitli tik özellikleri üzerinde ince ayarlı kontrol için ax.tick_params() en çok yönlü seçenektir.


import matplotlib.pyplot as plt
import numpy as np

x = np.arange(10)
y = np.random.rand(10)

fig, ax = plt.subplots()
ax.plot(x, y)
ax.tick_params(axis='x', labelrotation=60)
plt.show()

Etiket Hizalamasını Optimize Etme

Seçilen yönteme bakılmaksızın, doğru hizalama okunabilirlik için çok önemlidir. plt.xticks() veya ax.set_xticklabels() içindeki ha (yatay hizalama) parametresi (‘sol’, ‘orta’, ‘sağ’), yatay konumu kontrol eder. Grafik için en uygun hizalamayı bulmak için deney yapın. Üst üste binen etiketleri önlemek için her zaman plt.tight_layout() kullanmayı düşünün.

Bu tekniklerde ustalaşarak, karmaşık veya uzun x ekseni etiketleri olsa bile, net ve bilgilendirici Matplotlib grafikleri oluşturabilirsiniz.

Bir yanıt yazın

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