Skip to content

Dedicated docs on running a dash application using plotly scattergeo graphs when not connected to the internet #3974

Open
@AirballClaytonCalvin

Description

@AirballClaytonCalvin

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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions