Flask 用烧瓶绘图离线

Flask 用烧瓶绘图离线,flask,plotly,Flask,Plotly,如何将plotly脱机与flask一起使用。我知道plotly可以与Ipython笔记本脱机使用,我可以与flask脱机使用plotly吗? 如果没有,请有人建议我可以使用哪个python库在flask(脱机库)中进行三维可视化编辑:针对当前Plotly版本更新 您要做的是将返回脱机“绘图”结果的函数设置为html。要执行此操作,请使用output_type=“div”参数调用offline.plot()方法。这将返回一个纯字符串,您可以将其放入任何烧瓶模板中,它将显示图形 另外,确保在静态文件

如何将plotly脱机与flask一起使用。我知道plotly可以与Ipython笔记本脱机使用,我可以与flask脱机使用plotly吗?
如果没有,请有人建议我可以使用哪个python库在flask(脱机库)中进行三维可视化编辑:针对当前Plotly版本更新

您要做的是将返回脱机“绘图”结果的函数设置为html
。要执行此操作,请使用output_type=“div”参数调用offline.plot()方法。这将返回一个纯字符串,您可以将其放入任何烧瓶模板中,它将显示图形

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

这是我所说的一个例子:

import plotly.graph_object as go
from plotly import io

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

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

return div

更新

@胆囊瘤 在我的使用中,我只是像往常一样导入flask并创建路由

import flask

# ... normal Dash stuff here

@app.server.route('/error.csv')
def serve_error():
    return flask.send_file('error.csv')
=====================================================================

对于那些展望未来的人,可以更新此答案,以包括Plotly-side项目。它具有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)

另请参阅他们的。

我现在很难弄清楚的是,如何将绘声绘色的Dash世界与flask应用程序和jinja2混合在一起……这确实创造了两个不同的世界。。。我认为要把这两者联系起来并不容易。。。我希望在站点上使用Jinja2模板,然后在页面上的绘图和绘图相关控件上使用dash。@daren我100%同意。查看Dash存储库,可以对Dash应用程序进行子类化,并调整渲染器如何处理烧瓶响应类型?期待使用flask+jinja+dash。有什么更新吗?这可以证明你在寻找什么?这个
offplot.plot()
offline.plot()
到底是什么?它从哪里来?从问题和答案来看都不清楚。一定欢迎您进行一些详细阐述!几年前我写了这个答案,从当前的Plotly文档来看,api似乎有了一些变化。根据我所能收集到的信息,offplot.plot()方法对应于他们现在拥有的plotly.io.to_html()方法。