如何在变色龙模板中放置散景图?

时间:2014-02-24 16:33:58

标签: python pyramid chameleon deform bokeh

我有一个使用Matplotlib的许多脚本的项目。我想为这个项目构建一个Web界面。

如何在变色龙模板中放置散景图?如果重要的话,我正在使用Pyramid和Deform bootstrap。

有没有人有好榜样?

2 个答案:

答案 0 :(得分:2)

这里有几个不同的问题需要解决。

  1. 如果你真的想把很多Matplotlib图移植到交互式JS中,那么可能 mpld3项目非常适合你。但是,您应该知道,通过使用D3,将会影响性能,具体取决于绘图中的点数。 Bokeh现在也有基本的Matplotlib支持,并且只会获得更多。 Jake目前正在将mpld3项目重构为一个明确的导出器,然后是D3渲染器,我们也可能会为Bokeh Matplotlib支持做这项工作。

  2. 要使用Bokeh执行此操作,您可以通过查看例如,如何获取绘图的原始HTML HTMLFileSession.dumps()已实施:https://github.com/ContinuumIO/bokeh/blob/master/bokeh/session.py#L295。默认模板为bokeh/templates/base.html;但是,这是一个完整的HTML文件,而不是片段。 dumps()方法非常简单,默认模板也是如此,因此您应该能够从查看这些模型中获得所需的内容。希望在下一个版本中,我们将完成一个HTMLFragmentSession,这将使其更容易嵌入。

答案 1 :(得分:2)

您想使用plot.create_html_snippet。此函数返回要在HTML中显示的代码,该函数还会写出一个嵌入文件。

这就是嵌入代码段的样子

<script src="http://localhost:5006/static/dc0c7cfd-e657-4c79-8150-6a66be4dccb8.embed.js" bokeh_plottype="embeddata" bokeh_modelid="dc0c7cfd-e657-4c79-8150-6a66be4dccb8" bokeh_modeltype="Plot" async="true"></script>

以下参数控制如何写出嵌入文件,以及js代码搜索嵌入文件的位置。 embed_base_url控制javascript将在其中搜索嵌入文件的网址路径(可以是绝对路径或相对路径)。

embed_save_loc控制python将写入嵌入文件的目录。当server = True时,不需要embed_save_loc

static_path controls jl将用于为bokeh.js和bokeh.css构建URL的URL路径(它可以是绝对路径或相对路径)。默认为http://localhost:5006/static/,但可以轻松指向CDN

运行散景服务器时,导航到http://localhost:5006/bokeh/generate_embed/static。我认为这需要你因为一个bug而在master上运行。

我希望这会有所帮助。