本文整理汇总了Python中bokeh.document.Document方法的典型用法代码示例。如果您正苦于以下问题:Python document.Document方法的具体用法?Python document.Document怎么用?Python document.Document使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bokeh.document
的用法示例。
在下文中一共展示了document.Document方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_master_app
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def test_master_app():
# just testing that this does not raise an Error
doc = Document()
current_dir_path = Path(__file__).resolve().parent
name_to_path = {
"db1": current_dir_path / "db1.db",
"db2": current_dir_path / "db2.db",
}
master_app.master_app(doc=doc, database_name_to_path=name_to_path, session_data={})
# not testing _create_section_to_elements()
# not testing name_to_bokeh_row_elements
# not testing _setup_tabs
示例2: start
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def start(self, ioloop=None):
"""Serves a backtrader result as a Bokeh application running on a web server"""
def make_document(doc: Document):
if self._on_session_destroyed is not None:
doc.on_session_destroyed(self._on_session_destroyed)
# set document title
doc.title = self._title
# set document template
env = Environment(loader=PackageLoader('backtrader_plotting.bokeh', 'templates'))
doc.template = env.get_template(self._html_template)
doc.template_variables['stylesheet'] = utils.generate_stylesheet(self._scheme)
# get root model
model = self._model_factory_fnc(doc)
doc.add_root(model)
self._run_server(make_document, ioloop=ioloop, port=self._port)
示例3: __init__
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def __init__(self, crawl_name, num_urls=DEFAULT_NUM_URLS):
"""
Create a NutchUrlTrails instance for visualizing a running Nutch crawl in real-time using Bokeh
:param name: The name of the crawl (as identified by the queue)
:param num_urls: The number of URLs to display in the visualization
:return: A NutchUrLTrails instance
"""
self.crawl_name = crawl_name
self.num_urls = num_urls
self.open_urls = {}
self.closed_urls = {}
self.old_segments = None
self.old_circles = None
self.session = Session()
self.session.use_doc(self.crawl_name)
self.document = Document()
con = Connection()
exchange = Exchange(EXCHANGE_NAME, 'direct', durable=False)
queue = Queue(crawl_name, exchange=exchange, routing_key=crawl_name)
self.queue = con.SimpleQueue(name=queue)
示例4: app
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def app(self_or_cls, plot, show=False, new_window=False, websocket_origin=None, port=0):
"""
Creates a bokeh app from a HoloViews object or plot. By
default simply attaches the plot to bokeh's curdoc and returns
the Document, if show option is supplied creates an
Application instance and displays it either in a browser
window or inline if notebook extension has been loaded. Using
the new_window option the app may be displayed in a new
browser tab once the notebook extension has been loaded. A
websocket origin is required when launching from an existing
tornado server (such as the notebook) and it is not on the
default port ('localhost:8888').
"""
if isinstance(plot, HoloViewsPane):
pane = plot
else:
pane = HoloViewsPane(plot, backend=self_or_cls.backend, renderer=self_or_cls,
**self_or_cls._widget_kwargs())
if new_window:
return pane._get_server(port, websocket_origin, show=show)
else:
kwargs = {'notebook_url': websocket_origin} if websocket_origin else {}
return pane.app(port=port, **kwargs)
示例5: serve_absa_ui
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def serve_absa_ui() -> None:
"""Main function for serving UI application.
"""
def _doc_modifier(doc: Document) -> None:
grid = _create_ui_components()
doc.add_root(grid)
print("Opening Bokeh application on http://localhost:5006/")
server = Server(
{"/": _doc_modifier},
websocket_max_message_size=5000 * 1024 * 1024,
extra_patterns=[
(
"/style/(.*)",
StaticFileHandler,
{"path": os.path.normpath(join(SOLUTION_DIR, "/style"))},
)
],
)
server.start()
server.io_loop.add_callback(server.show, "/")
server.io_loop.start()
示例6: test_monitoring_app
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def test_monitoring_app():
"""Integration test that no Error is raised when calling the monitoring app."""
doc = Document()
database_name = "test_db"
current_dir_path = Path(__file__).resolve().parent
session_data = {"last_retrieved": 0, "database_path": current_dir_path / "db1.db"}
monitoring.monitoring_app(
doc=doc, database_name=database_name, session_data=session_data
)
示例7: __init__
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def __init__(self, doc: Document, push_fnc, bokeh_fac: callable, push_data_fnc:callable, strategy: bt.Strategy, figurepage_idx: int = 0, lookback: int = 20):
self._slider_aspectratio = None
self._push_data_fnc = push_data_fnc
self._push_fnc = push_fnc
self._figurepage_idx = figurepage_idx
self.last_data_index = -1
self._lookback = lookback
self._strategy = strategy
self._current_group = None
self.document = doc
self._bokeh_fac = bokeh_fac
self._bokeh = None
bokeh = self._bokeh_fac() # temporary bokeh object to get tradingdomains and scheme
self._scheme = copy(bokeh.p.scheme) # preserve original scheme as originally provided by the user
tradingdomains = bokeh.list_tradingdomains(strategy)
self._current_group = tradingdomains[0]
self._select_tradingdomain = Select(value=self._current_group, options=tradingdomains)
self._select_tradingdomain.on_change('value', self._on_select_group)
btn_refresh_analyzers = Button(label='Refresh Analyzers', width=100)
btn_refresh_analyzers.on_click(self._on_click_refresh_analyzers)
td_label = Div(text="Trading Domain:", margin=(9, 5, 15, 5))
controls = row(children=[td_label, self._select_tradingdomain, btn_refresh_analyzers])
self.model = column(children=[controls, Tabs(tabs=[])], sizing_mode=self._scheme.plot_sizing_mode)
# append meta tab
meta = Div(text=metadata.get_metadata_div(strategy))
self._panel_metadata = Panel(child=meta, title="Meta")
self._refreshmodel()
示例8: _bokeh_cb_build_root_model
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def _bokeh_cb_build_root_model(self, doc: Document):
client = LiveClient(doc,
self._bokeh_cb_push_adds,
self._create_bokeh,
self._bokeh_cb_push_adds,
self._cerebro.runningstrats[self.p.strategyidx],
lookback=self.p.lookback)
with self._lock:
self._clients[doc.session_context.id] = client
self._bokeh_cb_push_adds(doc)
return client.model
示例9: init_plot
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def init_plot(crawl_name):
session = Session()
document = Document()
session.use_doc(crawl_name)
session.load_document(document)
if document.context.children:
plot = document.context.children[0]
else:
output_server(crawl_name)
# TODO: Remove these when Bokeh is upgraded
# placeholders or Bokeh can't inject properly
current = np.datetime64(datetime.now())
xdr = Range1d(current, current + 1)
ydr = ["urls"]
# styling suggested by Bryan
plot = figure(title="Crawler Monitor", tools="hover",
x_axis_type="datetime", y_axis_location="right", x_range=xdr, y_range=ydr,
width=1200, height=600)
plot.toolbar_location = None
plot.xgrid.grid_line_color = None
# temporarily turn these off
plot.ygrid.grid_line_color = None
plot.xaxis.minor_tick_line_color = None
plot.xaxis.major_tick_line_color = None
plot.xaxis.major_label_text_font_size = '0pt'
plot.yaxis.minor_tick_line_color = None
plot.yaxis.major_tick_line_color = None
plot.yaxis.major_label_text_font_size = '0pt'
document.add(plot)
session.store_document(document)
script = autoload_server(plot, session)
#TODO: Looks like a Bokeh bug, probably not repeatable with current code
script = script.replace("'modelid': u'", "'modelid': '")
return script
示例10: html
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def html(self, obj, fmt=None, css=None, resources='CDN', **kwargs):
"""
Renders plot or data structure and wraps the output in HTML.
The comm argument defines whether the HTML output includes
code to initialize a Comm, if the plot supplies one.
"""
plot, fmt = self._validate(obj, fmt)
figdata, _ = self(plot, fmt, **kwargs)
if isinstance(resources, basestring):
resources = resources.lower()
if css is None: css = self.css
if isinstance(plot, Viewable):
doc = Document()
plot._render_model(doc)
if resources == 'cdn':
resources = CDN
elif resources == 'inline':
resources = INLINE
return file_html(doc, resources)
elif fmt in ['html', 'json']:
return figdata
else:
if fmt == 'svg':
figdata = figdata.encode("utf-8")
elif fmt == 'pdf' and 'height' not in css:
_, h = self.get_size(plot)
css['height'] = '%dpx' % (h*self.dpi*1.15)
if isinstance(css, dict):
css = '; '.join("%s: %s" % (k, v) for k, v in css.items())
else:
raise ValueError("CSS must be supplied as Python dictionary")
b64 = base64.b64encode(figdata).decode("utf-8")
(mime_type, tag) = MIME_TYPES[fmt], HTML_TAGS[fmt]
src = HTML_TAGS['base64'].format(mime_type=mime_type, b64=b64)
html = tag.format(src=src, mime_type=mime_type, css=css)
return html
示例11: server_doc
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def server_doc(self_or_cls, obj, doc=None):
"""
Get a bokeh Document with the plot attached. May supply
an existing doc, otherwise bokeh.io.curdoc() is used to
attach the plot to the global document instance.
"""
if not isinstance(obj, HoloViewsPane):
obj = HoloViewsPane(obj, renderer=self_or_cls, backend=self_or_cls.backend,
**self_or_cls._widget_kwargs())
return obj.layout.server_doc(doc)
示例12: get_plot
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def get_plot(self_or_cls, obj, doc=None, renderer=None, **kwargs):
"""
Given a HoloViews Viewable return a corresponding plot instance.
Allows supplying a document attach the plot to, useful when
combining the bokeh model with another plot.
"""
plot = super(BokehRenderer, self_or_cls).get_plot(obj, doc, renderer, **kwargs)
if plot.document is None:
plot.document = Document() if self_or_cls.notebook_context else curdoc()
plot.document.theme = self_or_cls.theme
return plot
示例13: test_render_explicit_server_doc_element
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def test_render_explicit_server_doc_element(self):
obj = Curve([])
doc = Document()
server_doc = bokeh_renderer.server_doc(obj, doc)
self.assertIs(server_doc, doc)
self.assertIs(bokeh_renderer.last_plot.document, doc)
示例14: test_set_up_linked_change_stream_on_server_doc
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def test_set_up_linked_change_stream_on_server_doc(self):
obj = Curve([])
stream = RangeXY(source=obj)
server_doc = bokeh_renderer.server_doc(obj)
self.assertIsInstance(server_doc, Document)
self.assertEqual(len(bokeh_renderer.last_plot.callbacks), 1)
cb = bokeh_renderer.last_plot.callbacks[0]
self.assertIsInstance(cb, RangeXYCallback)
self.assertEqual(cb.streams, [stream])
x_range = bokeh_renderer.last_plot.handles['x_range']
self.assertIn(cb.on_change, x_range._callbacks['start'])
self.assertIn(cb.on_change, x_range._callbacks['end'])
y_range = bokeh_renderer.last_plot.handles['y_range']
self.assertIn(cb.on_change, y_range._callbacks['start'])
self.assertIn(cb.on_change, y_range._callbacks['end'])
示例15: test_set_up_linked_event_stream_on_server_doc
# 需要导入模块: from bokeh import document [as 别名]
# 或者: from bokeh.document import Document [as 别名]
def test_set_up_linked_event_stream_on_server_doc(self):
obj = Curve([])
stream = PlotReset(source=obj)
server_doc = bokeh_renderer.server_doc(obj)
self.assertIsInstance(server_doc, Document)
cb = bokeh_renderer.last_plot.callbacks[0]
self.assertIsInstance(cb, ResetCallback)
self.assertEqual(cb.streams, [stream])
plot = bokeh_renderer.last_plot.state
self.assertIn(cb.on_event, plot._event_callbacks['reset'])