Dedicated docs on running a dash application using plotly scattergeo graphs when not connected to the internet
@LiamConnors is already working on this.
Since Jul 5, 2024.
- Dominant language
- Python
- Stars
- 18.8k
- Forks
- 2.8k
- Avg merge
- 16h 26m
- Merged PRs (30d)
- 21
Description
I helped a Dash OSS user solve an issue today that took much longer than it should have. The developer was building a dash application that uses plotly.graph_objects.Scattergeo. The application worked well, but when the user ran the application locally without being connected to the internet, the chart would not render. The user works in a secure government setting and is likely one of many who have run into similar issues. I believe it would be useful to have a section in the plotly.py scattergeo section that shows how to run the charts fully offline.
The specific issue we ran into was caused because Plotly charting is looking for assets like https://cdn.plot.ly/usa_110m.json to render with. This location is unreachable if the app is offline.
These two community posts address and solve the issue but are out dated.
https://community.plotly.com/t/loading-geo-assets-offline-solved/11869
https://community.plotly.com/t/offline-scattergeo-plots-not-working/43790
The issue is common enough that it deserves to have better SEO and be more searchable.
All that was required to solve it in the Dash application offline was setting the plotlyConfig to point towards the asset directory in the app and referencing the plotlyConfig in the config prop within the dcc.Graph(). It was also necessary to upload the two relevant .json files to my assets folder. 1 , 2
plotlyConfig = {'topojsonURL':'http://127.0.0.1:8050/assets/'}
...
dcc.Graph(id="example-graph", figure=fig, config=plotlyConfig),
@LiamConnors love to get your thoughts on this.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.