【问题标题】:Plots do not show with bokeh散景不显示绘图
【发布时间】:2020-05-06 22:08:27
【问题描述】:

我正在尝试使用 Bokeh 和 python 将报告导出为 HTML。谁能告诉我,为什么我的代码不起作用?我尝试打印一个简单的 Div 并成功,但只要我包含绘图,浏览器仍会打开,但什么都看不到。是不是不能继承Figure?

我将其简化为相关部分:

def export_html(self):
    plots=[]
    plots.append(PlotObject(self.plot_attributes[4]))
    VisuLog(plots)


from bokeh.plotting import Figure, show, output_file

class VisuLog():
    def __init__(self,plots):
       self.plots = plots
       filename="Report_"
       output_file("visu_out\\"+ filename + ".html", title=filename)
       show(self.plots)  # open a browser

class PlotObject(Figure):
   def __init__(self,plot_attributes):
       super(PlotObject, self).__init__()

感谢您的帮助。

【问题讨论】:

    标签: python bokeh


    【解决方案1】:

    尝试添加

    __subtype__ = 'PlotObject'
    __view_model__ = 'Plot'
    

    PlotObject 类的主体。

    但我建议不要扩展 Bokeh 对象,除非您想通过编写自定义 JavaScript/TypeScript 实现来提供一些 UI 行为。

    【讨论】:

    • 感谢您的提示,但我收到以下警告:显然 PlotObject 继承了 Figure 类警告:重复 view_modelsubtype为类 PlotObject 声明“图”。以前的定义:
    • 不知道 - 在 Bokeh 2.0.2 上适用于我。但正如我所说,我强烈建议首先不要这样做,因为它是一个实现细节,而不是一个公共 API。
    • 好的,感谢从 2.0.0 更新到 2.0.2 确实有帮助。
    猜你喜欢
    • 2017-12-31
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    • 2020-07-14
    相关资源
    最近更新 更多