向Django temp添加多个bokeh html文件

2024-04-20 08:25:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我用bokeh创建了一些绘图,并将它们导出为html文件。我现在尝试在django模板中添加这些绘图。第一个绘图工作得很好,但如果我想添加第二个,它不会显示。你知道吗

这里我有一个创建bokeh html的python文件:

from bokeh.plotting import figure, output_file, show

output_file("test2.html",title="test2")

p = figure(plot_width=400, plot_height=400)

p.circle([1, 5, 7, 2, 5], [6, 7, 2, 5, 5], size=20, color="navy", alpha=0.5)

show(p)

这是第二个图,第一个保存为测试.html,标题为“测试”,有些点坐标不同。你知道吗

这是我的django模板:

{% extends "MainPage/PageBase.html" %}
{% block content %} 
    <div class="container"> 
        <div class="card">
            <div class="card-header">
                <font size="3">plot1</font>
            </div>
            <div class="card-body">
                <blockquote class="blockquote mb-0">
                    <p><div class="basic">

                        {% include "GPanalysis\WorkingData\test.html" %}

                    </div></p>
                </blockquote>
            </div>
        </div>

        <div class="card">
            <div class="card-header">
                <font size="3">plot2</font>
            </div>
            <div class="card-body">
                <blockquote class="blockquote mb-0">
                    <p><div class="basic">

                        {% include "GPanalysis\WorkingData\test2.html" %}

                    </div></p>
                </blockquote>
            </div>
        </div>
    </div>
{% endblock %}

在第一个框中出现一个图形,但第二个是空的。你知道吗

我切换了两个绘图的位置,但只显示html脚本中第一个绘图的位置。如果我尝试调用同一个图形两次,它将被绘制两次,但第二个图形直接位于第一个图形的下方,而不是位于根据html脚本应该位于的位置。你知道吗

我不确定这是不是一个错误,我在某处或如果我尝试是根本不可能的。我知道,有其他的可能性,以获得在一个模板中的多个波基图,但这将是我的情况最容易,因为我必须生成的html文件无论如何。你知道吗

谢谢你的回答。你知道吗


Tags: 文件djangodiv模板图形绘图sizehtml
1条回答
网友
1楼 · 发布于 2024-04-20 08:25:19

别这样。Bokeh文件输出不是以这种方式设计或打算嵌入的,也不期望它能很好地工作:

  • 文件输出生成带有自己的<head>的完整HTML文件,这样做可以100%保证生成格式错误的HTML

  • 来自不同文件的Bokeh对象最终可能会互相踩踏,因为文件输出不打算以这种方式使用。

有专门针对Embedding Plots and Apps的api,应该使用这些api。你知道吗

相关问题 更多 >