用烧瓶离线离线

dan*_*dhi 5 flask plotly

如何在烧瓶中使用绘图离线.我知道可以使用Ipython笔记本离线使用,我可以使用Plotly离线使用烧瓶吗?如果没有,有人可以建议我可以使用哪个python库进行烧瓶中的3D可视化(离线库)

小智 9

你想要做的是使函数返回离线"plot"结果为html <div>.为此,使用output_type ="div"参数调用offline.plot()方法.这将返回一个纯字符串,然后您可以将其放入任何烧瓶模板中,它将显示图形!

此外,请确保将plotly.js库包含在静态文件中,并在显示图形的html页面中链接到它们.

这是我所说的一个例子:

fig = go.Figure(data=barChart, layout=barLayout)

div = offplot.plot(fig, show_link=False, output_type="div", include_plotlyjs=False)

return div
Run Code Online (Sandbox Code Playgroud)


Tyl*_*ler 5

更新

@DarenThomas 在我的用法中,我只是像往常一样导入烧瓶并创建路由。

import flask

# ... normal Dash stuff here

@app.server.route('/error.csv')
def serve_error():
    return flask.send_file('error.csv')
Run Code Online (Sandbox Code Playgroud)

================================================== ====================

对于那些展望未来的人,可以更新此答案以包含 Plotly 副项目Dash。它开箱即用,支持 plotly/flask,并且非常容易让现有的 plotly 图形显示在 Web 界面中。例如:

import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash()

app.layout = html.Div(children=[
    html.H1(children='Hello Dash'),

    html.Div(children='''
        Dash: A web application framework for Python.
    '''),

    dcc.Graph(
        id='example-graph',
        figure={
            'data': [
                {'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
                {'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'},
            ],
            'layout': {
                'title': 'Dash Data Visualization'
            }
        }
    )
])

if __name__ == '__main__':
    app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)

另请参阅他们的教程系列

  • 我无法弄清楚如何将情节 Dash 世界与烧瓶应用程序和 jinja2 混合... (2认同)
  • 但这确实创建了两个独立的世界......我认为将两者联系起来并不容易......我喜欢为网站使用 Jinja2 模板,然后使用 dash _just_ 情节和情节相​​关控制 _on_ 页面。 (2认同)