2017-08-12 12 views
0

Bokeh凡例のグリフのアルファ値を変更する方法はありますか?Bokehの凡例グリフのアルファを変更する方法

この例を取っ​​てください。私はプロット内の線のアルファベットを0.1に設定していますが、凡例の線のグリフもこのアルファ値を反映しています。

凡例(境界線、テキスト、背景)内の他のすべてのアルファは変更できますが、グリフは変更できません。

これは、どの色がどのラベルに関連付けられているかを知ることができないことを意味しています(アルファが低く設定されている場合)。

import numpy as np 
from bokeh.plotting import output_file, figure, show 
x = np.linspace(0, 4*np.pi, 100) 
y = np.sin(x) 
alpha = .1 
output_file("legend_background.html") 
p = figure() 
p.line(x, y, legend="sin(x)", line_alpha=alpha) 
p.line(x, 2*y, legend="2*sin(x)", 
     line_dash=[4, 4], line_color="orange", line_width=2, line_alpha=alpha) 
p.line(x, 3*y, legend="3*sin(x)", line_color="green", line_alpha=alpha) 
p.legend.location = "top_right" 
show(p) 

それだけでp.legend.glyph_alpha = 0.9ような何かを行うことができるように素晴らしいことです。

明確にするには実際の使用例では、これは100,000行以上(つまり、1つのラベルから30,000、他のラベルから70,000)あるため、ラインのアルファを設定できるようにしたいプロットの中で重なり合っている傾向を探すのには非常に低いです。

答えて

0

私は低いアルファではラインを見ることさえできないと主張します。しかし、実際には色の微妙な違いがあるため、凡例でアルファを変更しないでください。私はこれを行う方法上の任意のドキュメントを見つけることができませんでしたが、あなたは2色でのみ2サブグループを持っている場合、あなただけの追加をプロットでき

import numpy as np 
from bokeh.plotting import output_file, figure, show 
x = np.linspace(0, 4*np.pi, 100) 
y = np.sin(x) 

output_file("legend_background.html") 
p = figure() 
p.line(x, y, legend="sin(x)", line_color='black',line_alpha=.2) 
p.line(x, 2*y, legend="2*sin(x)",line_dash=[4, 4], line_color="black",line_width=2, line_alpha=.7) 
p.line(x, 3*y, legend="3*sin(x)", line_color="black", line_alpha=1) 
show(p) 

enter image description here

編集:あなたの例と同様にあなたが実際のラベルで見ているドメイン外の同じラベルを持つ行。つまり、これはあなたの伝説を修正するための粗雑な方法ですが、それは機能します。それが大きな違いを作る -

p.line(x, y, line_color='black',line_alpha=.1) 
p.line(x, 2*y,line_dash=[4, 4], line_color="orange", line_width=2,line_alpha=.1) 
p.line(x, 3*y, line_color="green", line_alpha=.1) 
p.line(x, y+1000, legend="sin(x)", line_color='black',line_alpha=1) 
p.line(x, 2*y+1000, legend="2*sin(x)",line_dash=[4, 4], line_color="orange", 
line_width=2, line_alpha=1) 
p.line(x, 3*y+1000, legend="3*sin(x)", line_color="green", line_alpha=1) 

enter image description here

+0

実際の実世界のユースケースこの質問は、私は100,000行の上向きを持つことができるにも関します。この回答は私が提起した質問には触れません。 –

+0

追加情報をありがとう、私は応答を編集しました。私は密度等高線プロットがデータを分析するより良い方法であるように感じる。 – BenT

+0

もしうまくいけば原油はいいです。密度の輪郭に関するお勧めをありがとう - 私はそれが私のデータとどのように動作するかを見ていきます。 –

関連する問題