2017-12-01 26 views
0

ScatterAreaをオーバーレイしようとしていますが、後者が軸とそのラベルを消してしまいます。HoloViewsエリアオーバーレイの軸とラベル

import pandas as pd 
import holoviews as hv 
hv.extension('bokeh') 
from bokeh.models import HoverTool 

data = dict(A=["A1", "A1", "A1", "A1"], B=["B1", "B1", "B1", "B2"], C=[10, -5, 23, 9], D=[0, 5, -7, 6]) 
df = pd.DataFrame(data=data) 

df_hv = hv.Dataset(df) 

hover = HoverTool(
    tooltips=[("C", "@C{0,.0}"), 
       ("D", "@D{0,.0}")] 
) 

scatter = df_hv.to(hv.Scatter, kdims=["C", "D"], vdims=["C", "D"], groupby=["A", "B"]).redim.label(x="A (unitA)", y="B (unitB)") 
area = hv.Area([(0, 0), (10, 9), (30, 8), (25, -11), (15, -12), (0, 0)]).opts(style=dict(color="lightgrey", line_color="white", line_dash=None, alpha=0.5)).redim.label(x="A (unitA)", y="B (unitB)") 

そして:

%%opts Scatter [tools=[hover]] (size=10) 
scatter * area 

次のように結果は次のとおりです。

With hv.Area

次とhv.Areaの行を交換する場合、

area = hv.Curve([(0, 0), (10, 90), (30, 80), (25, 110), (15, 120)]).opts(style=dict(line_color="black", line_dash="dashed", alpha=0.5)) 
あなたは、軸とそのラベルが表示されます10

enter image description here

は、これはバグですか?または私は何かを逃していますか?コメントの後

bokeh=0.12.7 
holoviews=1.8.3 
pandas=0.20.2 
python=3.6.1 

UPDATE

、私は次のように、領域を変更

area = hv.Area([(0, 0), (10, 9), (30, 8), (25, -11), (15, -12), (0, 0)]).opts(style=dict(color="lightgrey", line_color="white", line_dash="solid", alpha=0.5)).redim.label(x="A (unitA)", y="B (unitB)") 

しかし、それは副作用として原点に沿って醜い行を有する。

With hv.Area 2

そしてもし私がしたらそれは良くなりませんline_color="lightgrey"。コメントの一つで推奨されているようにオプションline_alpha=0を追加

はUPDATE 2

問題を解決しました。

area = hv.Area([(0, 0), (10, 9), (30, 8), (25, -11), (15, -12), (0, 0)]).opts(style=dict(color="lightgrey", line_color="white", line_dash="solid", alpha=0.5, line_alpha=0)).redim.label(x="A (unitA)", y="B (unitB)") 

Solved

答えて

1

私はどのようにか、なぜこれが(私はそれがBokehJSで何か疑い)発生しているが、あなたの場合、Area要素のスタイルオプションでline_dash=Noneであるように思わかなりわからないんだけどそれを削除するか、軸をline_dash='solid'に置き換えて戻します。

私はフォローアップを行い、おそらくボケで問題を提出する予定です。

+0

迅速な対応をありがとう! line_dash = "solid"とする問題は、原点に沿って醜い線ができてしまうことです。私はそれを示すために例を変更しました。 – Bruno

+1

代わりに 'line_alpha = 0'か' line_width = 0'を設定してみてください。 – philippjfr

+0

line_alpha = 0トリックをやった! line_widthは問題を解決しませんでした。私は投稿を更新しました。 – Bruno

関連する問題