Matplotlib garis transparan


131

Saya merencanakan dua lintasan yang sama di matplotlib dan saya ingin memplot setiap garis dengan transparansi parsial sehingga merah (diplot kedua) tidak mengaburkan biru.

teks alternatif

Sunting : Ini gambar dengan garis transparan.

teks alternatif

Jawaban:


254

Polos dan sederhana:

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

(Saya tahu saya tidak menambahkan yang baru, tetapi jawaban langsung harus terlihat).


Saya tidak bisa melihat di mana parameter alpha didokumentasikan. Bisakah Anda memperbarui jawaban untuk memasukkan di mana ini didokumentasikan?
Alex Spurling

1
@AlexSpurling plt.plotmengambil argumen kata kunci Line2Dyang parameter alpha-nya adalah properti.
Thirdwater

27

Setelah saya merencanakan semua garis, saya dapat mengatur transparansi dari semuanya sebagai berikut:

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

EDIT: silakan lihat jawaban Joe di komentar.


28
Semua fungsi merencanakan maplotlib mengambil parameter alpha secara langsung. Anda bisa melakukannya plt.plot(x, y, 'r-', alpha=0.7).
Joe Kington

3
Saya akan senang melihat gambar yang diperbarui - dapatkah Anda menambahkannya ke jawaban ini?
Sven Marnach

3
@ JoKington: yang tampaknya mengkomposisikan baris sebelum menerapkan transparansi. Apakah ada cara untuk melakukannya sebaliknya, sehingga garis transparan bertambah menjadi lebih gelap?
naught101

5

Ini benar-benar tergantung pada fungsi apa yang Anda gunakan untuk memplot garis, tetapi coba lihat apakah pada yang Anda gunakan mengambil nilai alpha dan atur ke sesuatu seperti 0,5. Jika itu tidak berhasil, coba dapatkan objek garis dan atur nilai alpha mereka secara langsung.


1
Komentar oleh @ joe-kington mengatakan semua fungsi matplotlib mengambil parameter alpha, apakah jawaban Anda memerlukan koreksi atau komentarnya?
U3.1415926
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.