在 plotly dash 中,如何将本地图像文件来源到 dash.html.Img?
In plotly dash, how do I source a local image file to dash.html.Img?
这是将本地图像文件来源到 html 中的 <img>
元素的方法:
<html>
<h1>This is an image</h1>
<img src="file:///C:/Users/MyUser/Desktop/Plotly_Dash_logo.png" alt="image"></img>
</html>
这会按预期显示图像。但是当我尝试使用 plotly dash wrapper 元素制作相同的页面时,它不起作用:
import dash
from dash import html, dcc
app = dash.Dash(__name__)
app.layout = html.Div([
html.H1('This is an image'),
html.Img(src=r'file:///C:/Users/MyUser/Desktop/Plotly_Dash_logo.png', alt='image'),
])
if __name__ == '__main__':
app.run_server(host='0.0.0.0', port=8080, debug=False, use_reloader=False)
本地图片文件不显示。但是如果我用来自互联网的文件替换源代码,比如 'https://rapids.ai/assets/images/Plotly_Dash_logo.png'
,它就可以正常工作。
这是怎么回事?
您可以尝试使用这个旧 GitHub 问题中提供的解决方案:
https://github.com/plotly/dash/issues/71
它似乎不是为本地 url 构建的:?
经过更多搜索,我发现我可以将我的图像文件放在名为“assets/”的文件夹中,然后相对于应用程序文件夹引用它。
html.Img(src=r'assets/Plotly_Dash_logo.png', alt='image')
我还可以使用应用程序实例的特殊方法 dash.Dash.get_asset_url()
。
html.Img(src=app.get_asset_url('my-image.png'))
这是将本地图像文件来源到 html 中的 <img>
元素的方法:
<html>
<h1>This is an image</h1>
<img src="file:///C:/Users/MyUser/Desktop/Plotly_Dash_logo.png" alt="image"></img>
</html>
这会按预期显示图像。但是当我尝试使用 plotly dash wrapper 元素制作相同的页面时,它不起作用:
import dash
from dash import html, dcc
app = dash.Dash(__name__)
app.layout = html.Div([
html.H1('This is an image'),
html.Img(src=r'file:///C:/Users/MyUser/Desktop/Plotly_Dash_logo.png', alt='image'),
])
if __name__ == '__main__':
app.run_server(host='0.0.0.0', port=8080, debug=False, use_reloader=False)
本地图片文件不显示。但是如果我用来自互联网的文件替换源代码,比如 'https://rapids.ai/assets/images/Plotly_Dash_logo.png'
,它就可以正常工作。
这是怎么回事?
您可以尝试使用这个旧 GitHub 问题中提供的解决方案: https://github.com/plotly/dash/issues/71
它似乎不是为本地 url 构建的:?
经过更多搜索,我发现我可以将我的图像文件放在名为“assets/”的文件夹中,然后相对于应用程序文件夹引用它。
html.Img(src=r'assets/Plotly_Dash_logo.png', alt='image')
我还可以使用应用程序实例的特殊方法 dash.Dash.get_asset_url()
。
html.Img(src=app.get_asset_url('my-image.png'))