3

是否可以从 HoloViews 生成的绘图中删除 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)
4

4 回答 4

3

目前(从 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])
于 2017-12-01T04:14:03.133 回答
2

要为更复杂的布局移除 Bokeh 标志,我认为您需要将其渲染为 Bokeh 图形,然后使用 Bokeh 的原生方法将其移除。

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

删除布局的散景徽标

于 2018-02-11T00:19:15.677 回答
1
hv.extension("bokeh",logo=False)
于 2017-12-01T02:45:49.510 回答
0

1)这与 philippjfr 答案几乎相同,但使用钩子稍微短一些:

def remove_bokeh_logo(plot, element):
    plot.state.toolbar.logo = None

hv.Scatter(df).opts(hooks=[remove_bokeh_logo])


2)还有安德鲁的回答,将情节渲染为散景,然后删除徽标

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)
于 2019-12-18T13:00:31.330 回答