Python Bokeh - Making example standalone - Widget error -
i'm learning bokeh, make example 'stocks' script https://demo.bokehplots.com/apps/stocks produce standalone html file...i have added following code:
from bokeh.embed import components plots = [corr, ts1, ts2] script, div = components(plots) print(script) print(div) html = """<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>bokeh scatter plots</title> <link rel="stylesheet" href="http://cdn.pydata.org/bokeh/release/bokeh-0.12.6.min.css" type="text/css" /> <script type="text/javascript" src="http://cdn.pydata.org/bokeh/release/bokeh-0.12.6.min.js"></script> <!-- copy/paste script here --> {} </head> <body> <!-- insert divs here --> {} </body> </html>""".format(script, div) open("plotstock.html", "w") f: f.write(html)
at bottom of script, , worked simpler example found @ http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html (which has no widget imports) stock script errors:
bokeh error
model `pretext' not exist. due widget or custom model not being registered before first usage.**
if remove reference widget, same error next widget in line, select widget...
i can run script ok in bokeh server data localised, embedding issue...
the generated html seem complete, data , components sections:
<head> <meta charset="utf-8"> <title>bokeh scatter plots</title> <link rel="stylesheet" href="http://cdn.pydata.org/bokeh/release/bokeh-0.12.6.min.css" type="text/css" /> <script type="text/javascript" src="http://cdn.pydata.org/bokeh/release/bokeh-0.12.6.min.js"></script> <!-- copy/paste script here --> <script type="text/javascript"> (function() { var fn = function() { bokeh.safely(function() { var docs_json = {"15b39cbd-8b49-4761-9152-f666c6fb1d9a":{"roots": {"references":[{"attributes":{"data_source":{"id":"f6f697cf-6d00-4218-94c1- 18c7e97d7e16","type":"columndatasource"},"glyph":{"id":"3764347f-7617-42a8-a1d4- 0a6b255fc47d","type":"line"},"hover_glyph":null,"muted_glyph":null,"nonselection_ glyph":{"id":"461527a6-e0fe-4159-89a8- c748b3f16335","type":"line"},"selection_glyph":null},"id":"a6991b17-5e11-4864- 92ed-85b29f7fe737","type":"glyphrenderer"},{"attributes":{"months": [0,4,8]},"id":"a3ac5382-f490-408f-b608-f3cdca26772b","type":"monthsticker"}, {"attr .... ["87c565c2-e8d1-41ea-958d-ea09daa88b3a"]},"title":"stocks","version":"0.12.6"}}; var render_items = [{"docid":"15b39cbd-8b49-4761-9152-f666c6fb1d9a","elementid":"ac68790a-4571-49cb-8d1c-08c6f3a9d711","modelid":"a5ab1659-6d31-4869-8d5d-184d27fd5732"}, {"docid":"15b39cbd-8b49-4761-9152-f666c6fb1d9a","elementid":"202aa28c-793d-46df-99ed-30cc4d62b827","modelid":"c22f84ba-56d9-49ab-9d81-314546cfec5c"}, {"docid":"15b39cbd-8b49-4761-9152-f666c6fb1d9a","elementid":"725a58d5-6c34-4f56-8d82-64ebef5c4e46","modelid":"e1fc4190-8882-4d48-be12-b46f9817d525"}]; bokeh.embed.embed_items(docs_json, render_items); }); }; if (document.readystate != "loading") fn(); else document.addeventlistener("domcontentloaded", fn); })(); </script> </head> <body> <!-- insert divs here --> ('\n<div class="bk-root">\n <div class="bk-plotdiv" id="ac68790a-4571-49cb-8d1c-08c6f3a9d711"></div>\n</div>', '\n<div class="bk-root">\n <div class="bk-plotdiv" id="202aa28c-793d-46df-99ed-30cc4d62b827"></div>\n</div>', '\n<div class="bk-root">\n <div class="bk-plotdiv" id="725a58d5-6c34-4f56-8d82-64ebef5c4e46"></div>\n</div>') </body> </html>
can tell me happening or have ideas?
thanks.
the js files bokeh widgets distributed separately, pages incur cost of loading them if use them. need include bokeh-widgets
cdn described in documentation:
<link href="http://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.6.min.css" rel="stylesheet" type="text/css"> <script src="http://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.6.min.js"></script>
Comments
Post a Comment