Matplotlib şeffaf çizgi grafikleri


131

Matplotlib'de benzer iki yörünge çiziyorum ve her bir çizgiyi kısmi şeffaflıkla çizmek istiyorum, böylece kırmızı (ikinci olarak çizilen) maviyi gizlemiyor.

alternatif metin

DÜZENLEME : İşte şeffaf çizgiler içeren resim.

alternatif metin

Yanıtlar:


254

Sade ve basit:

plt.plot(x, y, 'r-', alpha=0.7)

(Yeni bir şey eklemediğimi biliyorum, ancak basit cevap görünür olmalıdır).


Alfa parametresinin nerede belgelendiğini göremiyorum. Yanıtı, bunun belgelendiği yeri içerecek şekilde güncelleyebilir misiniz?
Alex Spurling

1
@AlexSpurling, diğerleri arasında alfa parametresinin bir özelliği olduğu plt.plotanahtar kelime argümanlarını alır Line2D.
Thirdwater

27

Tüm çizgileri çizdikten sonra, hepsinin şeffaflığını şu şekilde ayarlayabildim:

for l in fig_field.gca().lines:
    l.set_alpha(.7)

DÜZENLEME: lütfen yorumlarda Joe'nun cevabına bakın.


28
Maplotlib çizim işlevlerinin tümü doğrudan bir alfa parametresi alır. Sadece yapabilirsin plt.plot(x, y, 'r-', alpha=0.7).
Joe Kington

3
Güncellenen resmi görmekten memnun olurum - bu yanıta ekleyebilir misiniz lütfen?
Sven Marnach

3
@JoeKington: Bu, şeffaflığı uygulamadan önce hatları birleştiriyor gibi görünüyor. Bunu tersine yapmanın bir yolu var mı, böylece şeffaf çizgiler bir araya gelerek koyulaşıyor mu?
naught101

5

Gerçekten, çizgileri çizmek için hangi işlevleri kullandığınıza bağlıdır, ancak kullandığınız öğenin bir alfa değeri alıp almadığını ve 0,5 gibi bir değere ayarlayıp ayarlamadığına bakın. Bu işe yaramazsa, çizgi nesnelerini almayı ve alfa değerlerini doğrudan ayarlamayı deneyin.


1
@ Joe-kington tarafından yapılan yorum, tüm matplotlib işlevlerinin bir alfa parametresi aldığını söylüyor, cevabınızın bir düzeltmeye mi yoksa yorumuna mı ihtiyacı var?
U3.1415926
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.