Matplotlib'den şeffaf arka plana sahip grafikler nasıl dışa aktarılır?


108

Bazı grafikler yapmak için matplotlib kullanıyorum ve maalesef bunları beyaz arkaplan olmadan dışa aktaramıyorum.

düz beyaz arka planlı örnek arsa

Diğer bir deyişle, bunun gibi bir grafiği dışa aktardığımda ve onu başka bir görüntünün üzerine yerleştirdiğimde, beyaz arka plan arkasını göstermesine izin vermek yerine arkasını gizler. Bunun yerine şeffaf bir arka plana sahip grafikleri nasıl dışa aktarabilirim?

Yanıtlar:


177

Görüntüyü png dosyası olarak kaydetmek için savefiganahtar sözcük bağımsız değişkeniyle matplotlib işlevini kullanın transparent=True.

In [30]: x = np.linspace(0,6,31)

In [31]: y = np.exp(-0.5*x) * np.sin(x)

In [32]: plot(x, y, 'bo-')
Out[32]: [<matplotlib.lines.Line2D at 0x3f29750>]            

In [33]: savefig('demo.png', transparent=True)

Sonuç: demo.png

Elbette bu olay örgüsü şeffaflığı göstermiyor. ImageMagick displaykomutu kullanılarak görüntülenen PNG dosyasının ekran görüntüsü . Dama tahtası deseni, PNG dosyasının şeffaf kısımlarından görülebilen arka plandır.

ekran görüntüsü göster


2

Png dosyaları şeffaflığı kaldırabilir. Bu nedenle, grafiğinizi bir dosya olarak kaydetmek için Matplotlib kullanarak görüntülemek yerine grafiği resim dosyasına kaydedin bu soruyu kullanabilirsiniz png.

Ve tüm beyaz pikseli şeffaf hale getirmek istiyorsanız, bir başka soru daha var: Tüm beyaz pikselleri şeffaf yapmak için PIL kullanmak?

Tüm bir alanı şeffaf hale getirmek istiyorsanız, o zaman şu soru var: Ve sonra bu soruda olduğu gibi PIL kitaplığını kullanın Python PIL: PNG'de alan nasıl şeffaf yapılır? grafiğinizi şeffaf hale getirmek için.


Teşekkürler ama bu yardımcı olmuyor. PNG'nin şeffaf olabileceğini biliyordum ama matplotlib'in çıktısı öyle değil. Ayrıca, öneriniz yalnızca dikdörtgenleri kaldırmak istediğiniz durumu kapsar. Komploumun kaydedilmesini ve geçmişimin kaldırılmasını istiyorum.
Cupitor

2
Bir png'de şeffaf renk olanı ayarladığınızı hatırladığım kadarıyla. dosya. Beyaz rengi şeffaf renk olarak ayarlayın ve işte başlayın.
Stephane Rolland

Sanırım 255 beyaz ve onunla gittiğimde arsam kayboluyor!
Cupitor

bu garip. sadece arsalarınız mı? siyah grafik ve siyah birimler ve mavi eğri de?
Stephane Rolland

1
tüm beyaz pikseli şeffaflığa dönüştürmekle ilgili bir soru var (size bağladığım gibi maskeyi kullanmamak) stackoverflow.com/questions/765736/…
Stephane Rolland
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.