Matplotlibの透過ラインプロット


131

matplotlibで2つの同様の軌跡をプロットしています。赤(2番目にプロットされたもの)が青を覆い隠さないように、部分的な透明度で各線をプロットしたいと思います。

代替テキスト

編集:これは透明な線のある画像です。

代替テキスト

回答:


254

簡潔でシンプル:

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

(私は新しいものは何も追加していませんが、簡単な答えが見えるはずです)。


alphaパラメータがドキュメント化されている場所がわかりません。これが文書化されている場所を含めるように回答を更新できますか?
Alex Spurling 2017

1
@AlexSpurlingは、アルファパラメータなどのプロパティであるplt.plotキーワード引数を取りLine2Dます。
Thirdwater、

27

すべての線をプロットした後、すべての線の透明度を次のように設定できました。

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

編集:コメントでジョーの答えを見てください。


28
maplotlibプロット関数はすべて、アルファパラメーターを直接受け取ります。あなたはただすることができますplt.plot(x, y, 'r-', alpha=0.7)
Joe Kington

3
更新された画像を見ていただければ幸いです。この回答に追加していただけませんか。
Sven Marnach、2010

3
@JoeKington:透明度を適用する前に線を合成するようです。それを逆にして、透明な線を追加して暗くする方法はありますか?
naught101 2013年

5

これは、実際に線をプロットするために使用している関数に依存しますが、使用しているがアルファ値を取り、0.5などに設定しているかどうかを確認してください。それがうまくいかない場合は、ラインオブジェクトを取得して、アルファ値を直接設定してみてください。


1
@ joe-kingtonによるコメントは、すべてのmatplotlib関数がアルファパラメーターを取ると言っていますが、あなたの回答は修正が必要ですか、それとも彼のコメントですか?
U3.1415926 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.