首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >plotly dash -使用plotly,safe it local生成图像,并使用plotly显示图像

plotly dash -使用plotly,safe it local生成图像,并使用plotly显示图像
EN

Stack Overflow用户
提问于 2021-05-12 19:12:43
回答 1查看 708关注 0票数 3

我使用plotly (express)生成了很多图像,并将它们保存为png格式的本地目录。现在,我想创建一个带有plotly的仪表板。我生成的图像有很多依赖项,这就是为什么我不想在dash应用程序的代码中包含代码的原因。

现在我问,是否可以将图像保存为某种格式(HTML?)在我的本地目录中,然后用划线来调用它们?!

我的问题是,我必须如何保存图像,以及如何调用它?我不想使用PNG (等)。因为我想使用hoverfunction

这是我尝试过的:

代码语言:javascript
复制
import plotly.express as px

fig =px.scatter(x=range(10), y=range(10))
fig.write_html("../example_codes/saved_as_HTML.html")
#%%

import dash
import dash_html_components as html
import base64

app = dash.Dash()

image_filename = 'saved_as_HTML.html' # replace with your own image
encoded_image = base64.b64encode(open(image_filename, 'rb').read())

# app.layout = html.Div([
#     html.Img(src='data:image/png;base64,{}'.format(encoded_image))
# ])


app.layout = html.Div([
    html.Img(src='data:image/html;base64,{}'.format(encoded_image))
])

if __name__ == '__main__':
    app.run_server(debug=True)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-13 13:35:03

我会以不同的方式来处理这个问题。

我不使用html作为格式,而是使用joblib保存和加载Python图形,因为这些图形只是常规的Python对象。

代码语言:javascript
复制
# Save the figures somewhere
import joblib
fig = px.scatter(x=range(10), y=range(10))
joblib.dump(fig, "../example_codes/fig.pkl")

将图形保存到某个位置后,可以使用joblib加载它,并使用Graph在您的仪表盘布局中使用它

代码语言:javascript
复制
fig = joblib.load("../example_codes/fig.pkl")

app = dash.Dash()

app.layout = html.Div([dcc.Graph(figure=fig)])

if __name__ == "__main__":
    app.run_server(debug=True)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67502511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档