2017-09-19 22 views
2

Bokeh/PythonとHTMLのどちらも比較的新しいです。私はウェブページに表示したいサーブベースのBokehプロットを作成しました。私はhttps://bokeh.pydata.org/en/latest/docs/user_guide/embed.htmlの指示に従っています。特に、私はスクリプトを生成するためにautoload_serverを使用しています。しかし、私は(上記のリンクでの最後の行によると、どうやら正しい)HTMLドキュメントのヘッド内のスクリプトタグを配置する場合:htmlのサーバーベースのボケプロットを埋め込む

<!DOCTYPE html> 
<head> 
<script 
src="http://localhost:5006/autoload.js?bokeh-autoload-element=6abffe3c-d0dc-4e7b-80d3-0e7dc2d1b100&bokeh-absolute-url=http://localhost:5006&bokeh-session-id=bTinOCNtjuDagomoQgcw1EKJ7dUMkzSQJIRKozmGiqTc" 
id="6abffe3c-d0dc-4e7b-80d3-0e7dc2d1b100" 
data-bokeh-model-id="676400d3-9929-4d9e-aefe-2fb440f526d6" 
data-bokeh-doc-id="" 
></script> 
</head> 

<body> 
</body> 
</html> 

次のエラーメッセージがWebページに表示されます。

ボケモデルをレンダリング

ボケエラー エラー:idを持つ要素「6abffe3c-d0dc-4e7b-80d3-0e7dc2d1b100は、」それでは、私は頭からスクリプトを削除し、体内に置き、本体

下でなければなりません。しかし、これは完全に空白のWebページになります。プロットはまったくレンダリングされません。

すべてのヘルプは大歓迎です!

+0

同じ問題に遭遇したとき、私は生成したスクリプトを体内に置くことがうまくいったことがわかりました。ドキュメントが常に100%正しいとは限りません(それ以上)。しかし、おそらくあなたがあなたのプロットを作成するために使用するスクリプトを共有するとき、私たちは問題を見つけることができましたか? – Joris

答えて

0

私たちは基本的な例で生成されたHTML調べる場合:

from bokeh.plotting import figure 
from bokeh.resources import CDN 
from bokeh.embed import file_html 

plot = figure() 
plot.circle([1,2], [3,4]) 

html = file_html(plot, CDN, "plot") 
print(html) 

をそれは以下のフォーマットに準拠します。

<!DOCTYPE html> 
<html> 
    <head> 
    <link rel="stylesheet" href="https://cdn.pydata.org/bokeh/release/bokeh-0.12.9.min.css" type="text/css" /> 
    <script type="text/javascript" src="https://cdn.pydata.org/bokeh/release/bokeh-0.12.9.min.js"></script> 
    </head> 
    <body> 

    <!-- generated div --> 
    <div class="bk-root"> 
     <div class="bk-plotdiv" id="7a7b6ca9-3dec-430d-98f2-a0a7067c9ae0"></div> 
    </div> 

    <!-- generated script --> 
    <script type="text/javascript"> 
     (function() {..}) 
    </script> 

    </body> 
</html> 

自動ロードスクリプトが代わりに生成さ<div><script>を置き換え、必要に応じて置き換えます静的なCSSとJSの参照。

<!DOCTYPE html> 
<html> 
    <head> 
    <!-- optional --> 
    <link rel="stylesheet" href="https://cdn.pydata.org/bokeh/release/bokeh-0.12.9.min.css" type="text/css" /> 
    <script type="text/javascript" src="https://cdn.pydata.org/bokeh/release/bokeh-0.12.9.min.js"></script> 
    </head> 
    <body> 

    <!-- autoloading script --> 
    <script 
     src="https://demo.bokehplots.com/apps/slider/autoload.js?bokeh-autoload-element=aee6d395-d079-4e02-ae72-8e70e617990d&bokeh-app-path=/apps/slider&bokeh-absolute-url=https://demo.bokehplots.com/apps/slider" 
     id="aee6d395-d079-4e02-ae72-8e70e617990d" 
     data-bokeh-model-id="" 
     data-bokeh-doc-id="" 
    ></script> 

    </body> 
</html> 
+0

お返事ありがとうございます。私はこれを試してみましたが、本文にスクリプトを入れましたが、空白のWebページが表示されます。 (私は私のインタラクティブなBokehプロットを問題なくローカルに見ることができます) –

+0

私は今、autoload_serverではなくserver_sessionを試してみました。他に提案はありますか? –

+0

URLは 'localhost'の代わりに' 127.0.0.1'を試してみてくださいhttps://bokeh.pydata.org/en/latest/docs/reference/embed.html#bokeh.embed.autoload_server – brennan

関連する問題