删除 HoloViews 中的散景徽标
Remove Bokeh Logo in HoloViews
是否可以从使用 HoloViews 生成的绘图中删除 Bokeh 徽标?没什么可反对的……只是在某些报告中显示它可能没有意义。 :)
我知道在 Bokeh 中我可以简单地做:
p = bkp.figure(...)
...
p.toolbar.logo = None
更新
这是我的导入部分:
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)
hv.extension("bokeh",logo=False)
目前(自 holoviews 1.9.1 起)禁用工具栏中散景徽标的选项未直接公开,但您可以提供一个所谓的 finalize_hook
,它允许您直接修改绘图。你可以直接在ElementPlot
上添加这样一个钩子来全局设置:
def disable_logo(plot, element):
plot.state.toolbar.logo = None
hv.plotting.bokeh.ElementPlot.finalize_hooks.append(disable_logo)
或将其设置为绘图选项:
hv.Curve(range(10)).opts(plot=dict(finalize_hooks=[disable_logo])
对于更复杂的布局,要移除Bokeh标志,我认为你需要将其渲染成Bokeh图形,然后使用Bokeh的原生方法将其移除。
layout = C + D
plot = renderer.get_plot(layout)
p = plot.state
p.children[0].toolbar.logo = None
show(p)
1) 这与 philippjfr 的回答几乎相同,但略短 using hooks:
def remove_bokeh_logo(plot, element):
plot.state.toolbar.logo = None
hv.Scatter(df).opts(hooks=[remove_bokeh_logo])
2) Andrew 的回答是,将情节渲染为散景然后删除徽标:
from bokeh.plotting import show
hv_plot = hv.Scatter(df)
bokeh_plot = hv.render(hv_plot, backend='bokeh')
bokeh_plot.toolbar.logo = None
show(bokeh_plot)
是否可以从使用 HoloViews 生成的绘图中删除 Bokeh 徽标?没什么可反对的……只是在某些报告中显示它可能没有意义。 :)
我知道在 Bokeh 中我可以简单地做:
p = bkp.figure(...)
...
p.toolbar.logo = None
更新
这是我的导入部分:
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)
hv.extension("bokeh",logo=False)
目前(自 holoviews 1.9.1 起)禁用工具栏中散景徽标的选项未直接公开,但您可以提供一个所谓的 finalize_hook
,它允许您直接修改绘图。你可以直接在ElementPlot
上添加这样一个钩子来全局设置:
def disable_logo(plot, element):
plot.state.toolbar.logo = None
hv.plotting.bokeh.ElementPlot.finalize_hooks.append(disable_logo)
或将其设置为绘图选项:
hv.Curve(range(10)).opts(plot=dict(finalize_hooks=[disable_logo])
对于更复杂的布局,要移除Bokeh标志,我认为你需要将其渲染成Bokeh图形,然后使用Bokeh的原生方法将其移除。
layout = C + D
plot = renderer.get_plot(layout)
p = plot.state
p.children[0].toolbar.logo = None
show(p)
1) 这与 philippjfr 的回答几乎相同,但略短 using hooks:
def remove_bokeh_logo(plot, element):
plot.state.toolbar.logo = None
hv.Scatter(df).opts(hooks=[remove_bokeh_logo])
2) Andrew 的回答是,将情节渲染为散景然后删除徽标:
from bokeh.plotting import show
hv_plot = hv.Scatter(df)
bokeh_plot = hv.render(hv_plot, backend='bokeh')
bokeh_plot.toolbar.logo = None
show(bokeh_plot)