2012-12-25 14 views
6

Bir makale için matplotlib'in polikloksiyonunu kullanarak görselleştirdiğim deforme sonlu eleman ağları çizimleri oluşturuyorum. Görüntüler pdf olarak kaydedilir.rasterleştirme matplotlib ekseni içeriği (çerçeve değil, etiketler)

Yüksek yoğunluklu ağlar için problemler ortaya çıkar; bu yöntemde, naif yaklaşım çok büyük dosyalar oluşturur ve pratik olması çok yoğun olur.

Bu kafesler için, her bir elemanı çokgen olarak çizmenin hiçbir anlamı yoktur; görüntüyü jpg veya png olarak kaydederken yapıldığı gibi kolayca rasterleştirilebilir. Ancak, baskı için keskin bir çerçeveye, etiketlere ve ek açıklamalara tutmak istiyorum.

Matplotlib'de bu tür karma rasterleştirmeyi gerçekleştirmenin mümkün olup olmadığını bilen var mı?

imshow'u içeren ve polikarrayyonu atlayan çözümleri düşünebilirim, ama matplotlib'in yerleşik bileşenlerini kullanmayı tercih ederim.

Tavsiyeniz için teşekkürler.

cevap

9

rasterized=True anahtar sözcüğünü koleksiyon oluşturucuya iletmeniz yeterlidir. Örnek: Bu yalnızca (eğer bunun üstüne normal bir arsa yaptıysam örneğin, varsayılan olarak vectorized olacağını) o elementin seçici pikselleştirmeyi verir

col = collections.PolyCollection(<arguments>, rasterized=True) 

. plot veya imshow gibi çoğu komut, rasterized anahtar sözcüğünü de alabilir.

fig = plt.figure() 
a = fig.add_subplot(1,1,1, rasterized=True) 

(Ama bu soruya da belirtildiği gibi, ne istediğini değildir.)

+0

Vay, bu kadar basit: bir (etiketler ve ek açıklamalar dahil) bütün figürü rasterleştirmek istiyorsa, bu yapacağını . Şimdi benim googling becerilerim için endişeleniyorum. Ama bu cevap için çok teşekkür ederim, bu tam olarak ne için umuyordum! – gertjan

+0

Bu harika! Rasterleştirmenin dpi'sini nasıl kontrol edeceğine dair bir fikrin var mı? "Şekil" ve "savefig" işlevlerindeki dpi işe yaramıyorsa "şekil" ve "kaydetme" ... – weronika

+0

@weronika'ya geçtiğim göz ardı ediliyor gibi görünüyor. . 'collections'' artist' allow_rasterization' dekoratörünü kullanıyor gibi görünüyor, ancak hızlı bir bakışta bir dpi'yi nasıl ayarlayamadığımı görebiliyordum. – tiago