Data Visualization

Matplotlib Grafiklerini Ekran Görüntüsü Olmadan Etkin Bir Şekilde Görsel Olarak Kaydetme

Spread the love

Matplotlib, görselleştirme oluşturmak için güçlü bir Python kütüphanesidir. Grafikleri resim dosyası olarak kaydetmek yaygın bir işlemdir, ancak grafiği kaydetmeden önce görüntülemenin varsayılan davranışı verimsiz olabilir. Bu makale, ara görüntüleme adımını atlayarak Matplotlib grafiklerini resim dosyalarına verimli bir şekilde kaydetmeyi göstermektedir.

İçerik Tablosu

Grafikleri Kaydetmek için savefig() Kullanımı

savefig() yöntemi, Matplotlib grafiklerini kaydetmek için en çok yönlü seçenektir. Dosya formatı, çözünürlük ve şekil boyutu üzerinde kontrol sunar. Grafiği görüntülemekten kaçınmak için, grafiği gösterecek komutlardan (plt.show() gibi) önce savefig()‘i çağırın. Özellikle çok sayıda grafikle çalışırken belleği boşaltmak için plt.close() kullanarak şekli kapatmayı unutmayın.


import matplotlib.pyplot as plt
import numpy as np

# Örnek veri
x = np.linspace(0, 10, 100)
y = np.sin(x)

# Grafiği oluştur
plt.plot(x, y)
plt.xlabel("X ekseni")
plt.ylabel("Y ekseni")
plt.title("Sinüs Dalgası")

# Grafiği GÖSTERMEDEN kaydet
plt.savefig("sine_wave.png", dpi=300, bbox_inches='tight') # dpi çözünürlüğü kontrol eder, bbox_inches tüm öğelerin dahil edilmesini sağlar

plt.close() 

Bu kod, grafiği 300 DPI’da sine_wave.png olarak kaydeder. bbox_inches='tight' bağımsız değişkeni, etiketler ve başlıklar da dahil olmak üzere grafiğin tamamının kaydedilen görüntüde yakalanmasını sağlar. Dosya formatını kolayca değiştirebilirsiniz (örneğin, “.pdf”, “.svg”, “.jpg”). Desteklenen formatların tam listesi için Matplotlib dokümanlarına bakın.

Görüntü Dizilerini Kaydetmek için imsave() Kullanımı

Görüntü dizilerini doğrudan kaydetmek için imsave() daha özlü bir yaklaşım sağlar. Bu, görüntü verilerini zaten bir NumPy dizisi olarak oluşturduysanız, bir Matplotlib şekil nesnesi oluşturma ihtiyacını ortadan kaldırdığı için özellikle kullanışlıdır.


import matplotlib.pyplot as plt
import numpy as np

# Örnek bir görüntü dizisi oluşturun (gri tonlama)
image_array = np.random.rand(256, 256)

# Görüntü dizisini bir dosyaya kaydedin
plt.imsave("random_image.png", image_array, cmap='gray')

Bu kod, 256×256 gri tonlama bir görüntü oluşturur ve kaydeder. cmap bağımsız değişkeni renk haritasını belirtir; burada ‘gri’ kullanılır. Başka renk haritaları da mevcuttur. imsave(), şekil işlemeyi atladığı için verimlidir.

Özetle, hem savefig() hem de imsave(), Matplotlib çıktılarını görüntülemeden kaydetmenin verimli yollarını sunar. En iyi seçim, tam bir şekil mi yoksa ham bir görüntü dizisiyle mi çalıştığınıza bağlıdır. plt.show()‘dan önce savefig()‘i önceliklendirmek ve plt.close() kullanmak, özellikle çok sayıda görüntü oluştururken verimliliği artırır.

Bir yanıt yazın

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