2017-12-01 42 views
0

HoloViewsで生成されたプロットからBokehロゴを削除することはできますか?それに反するものではありません...特定のレポートに表示するのは意味がないかもしれません。 holoviewsのように現在HoloViewsでBokehロゴを削除する

import sys 
import os 

import numpy as np 
np.random.seed(0) 
import random 
random.seed(0) 

import pandas as pd 
from bokeh.models import HoverTool 
import holoviews as hv 
hv.extension("bokeh", logo=False) 

答えて

2

(:

p = bkp.figure(...) 
... 
p.toolbar.logo = None 

UPDATE

をここに私のインポートセクションがあります:私はボケで、私は単純に行うことができることを知っている:)

1.9.1)ツールバーのbokehロゴを無効にするオプションが直接公開されていないdを使用することができますが、プロットを直接変更できるように、いわゆるfinalize_hookを指定することができます。

def disable_logo(plot, element): 
    plot.state.toolbar.logo = None 
hv.plotting.bokeh.ElementPlot.finalize_hooks.append(disable_logo) 

やプロットオプションとして設定する:あなたがグローバルに設定するElementPlotに直接、このようなフックを追加することができます

hv.Curve(range(10)).opts(plot=dict(finalize_hooks=[disable_logo]) 
+0

ありがとう! :) – Bruno

+0

クイックコメント。これは、私が作成したオーバーレイ・プロット(例えばA * B * C)では機能しましたが、オーバーレイ・オブジェクト(C + A1 *のような(C + D).cols(1) B1およびD = A2 * B2)。後者のケースではまだBokehロゴが表示されています。 – Bruno

0
hv.extension("bokeh",logo=False) 
+0

ありがとう!しかし、それは私のためにはうまくいかなかった... Jupyterノートブックでオーバーレイプロットを作成した後もBokehロゴが表示されている。ちなみに、私はあなたのウェビナーに昨日出席し、それは素晴らしいことでした!私はHoloViewsとDatashaderについてもっと学ぶことに興奮しています。これからもいい結果を出し続けてください! – Bruno

+0

現在のところ、このオプションを直接公開しているわけではありません。その場合、その効果にフックを追加することで、現在はグローバルに無効にすることができます。詳細は私のポストを参照してください。 – philippjfr

+0

D'oh!私は十分に質問をよく読まなかった。 logo = Falseは、あなたが尋ねているように、各プロット上のロゴではなく、ノートブックの上部にあるロゴについてです。 –

1

より複雑なレイアウトのためにボケのロゴを削除するには、私はあなたを考えますそれをBokeh Figureにレンダリングし、Bokehのネイティブメソッドを使用してそれを削除する必要があります。迅速な対応、ジェームズのため

layout = C + D 
plot = renderer.get_plot(layout) 
p = plot.state 
p.children[0].toolbar.logo = None 
show(p) 

Remove Bokeh Logo for Layout

+0

ありがとう!どのように変数 'renderer'を定義しましたか? – Bruno

+1

レンダラー= hv.renderer( 'bokeh') ' –

+0

これを行うための拡張モジュールをより簡単に作成しました。 'Mod(logo = False).apply(bar)' https://holoext.readthedocs.io/en/latest/examples/modifying_toolbar_tools.html –

関連する問題