Python Dash独立HTML文件与Plotly相同
我通常使用Plotly进行绘图,并将其保存为独立的HTML文件,这非常方便与同事共享,并“冻结”正在显示的数据。这是我举的一个例子Python Dash独立HTML文件与Plotly相同,python,html,plotly,plotly-dash,Python,Html,Plotly,Plotly Dash,我通常使用Plotly进行绘图,并将其保存为独立的HTML文件,这非常方便与同事共享,并“冻结”正在显示的数据。这是我举的一个例子 plotly.offline.plot( plotly_plot, filename = 'standalone great plot.html', ) 现在我想用一个非常简单的Dash应用程序做同样的事情,它根本没有服务器端的要求,它只是一堆绘出的图形和一些文本。我该怎么做 我想要的例子 考虑中显示的第一个示例,为了方便起见,我将其复制粘贴到此
plotly.offline.plot(
plotly_plot,
filename = 'standalone great plot.html',
)
现在我想用一个非常简单的Dash应用程序做同样的事情,它根本没有服务器端的要求,它只是一堆绘出的图形和一些文本。我该怎么做
我想要的例子
考虑中显示的第一个示例,为了方便起见,我将其复制粘贴到此处:
# -*- coding: utf-8 -*-
# Run this app with `python app.py` and
# visit http://127.0.0.1:8050/ in your web browser.
import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.express as px
import pandas as pd
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
# assume you have a "long-form" data frame
# see https://plotly.com/python/px-arguments/ for more options
df = pd.DataFrame({
"Fruit": ["Apples", "Oranges", "Bananas", "Apples", "Oranges", "Bananas"],
"Amount": [4, 1, 2, 2, 4, 5],
"City": ["SF", "SF", "SF", "Montreal", "Montreal", "Montreal"]
})
fig = px.bar(df, x="Fruit", y="Amount", color="City", barmode="group")
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=fig
)
])
if __name__ == '__main__':
app.run_server(debug=True)
当我使用Python运行此程序,然后在浏览器中打开时,我看到:
从图中可以看出,这基本上是一个带有文字的单一图形。因此,必须能够以某种方式生成包含此内容的独立HTML文件
我想用这个复制plotly.offline.plot的行为。我怎么做?我试过做“文件”→ “在我的web浏览器中将页面另存为”,但生成的HTML无法显示,因为服务器(Python
app.py
文件)未运行。当前无法将绘图保存到HTML文件中
您无法生成独立的HTML。Dash不直接在HTML中放置数据和绘图。它只放JavaScript代码,以后从服务器读取布局、数据和绘图。这一定是可能的,最复杂的组件是绘图,我已经将其保存为独立的HTML。剩下的只是一些嵌入了绘图的静态文本。但dash不像在普通绘图中那样使用它。它只向浏览器发送JavaScript代码——该代码向服务器发送数据请求——布局为JSON数据——并使用它生成页面。您必须删除所有JavaScript并将所有代码与数据放在一起,因此您必须从头重写所有代码。