'How to draw bounderies between countries and countries' states on pyplot.go.Figure with go.Scattergeo

So, I am doing a map that shows the flow of people among some cities in Brazil by drawing lines on the map, representing the path, and setting its opacity according to the count of occurrences. To do so, I am following this code (third map, the one about flights on US).

My question is, can I draw the borders between countries? And, if possible, also between Brazilian states?

In the documentation, there is an argument of the function called "geojson", but I'am not sure on how to use it, or if it is even useful for me.

Note that I have GeoJSON data for both countries and states.

Here's the code to generate the my map:

import pandas as pd
import plotly.graph_objects as go

fig = go.Figure()

for i in range(len(my_df)):
    fig.add_trace(
        go.Scattergeo(
            lon = [my_df['res_longitude'][i], my_df['nasc_longitude'][i]],
            lat = [my_df['res_latitude'][i], my_df['nasc_latitude'][i]],
            mode = 'lines',
            line = dict(width = 1,color = 'red'),
            opacity = min(1, float(my_df['flow'][i]) / float(my_df['flow'].quantile(.95))),
        )
    )

fig.update_layout(
    showlegend = False,
    margin ={'l':0,'t':0,'b':0,'r':0},
    mapbox = {
    'center': {'lon': -50.3206, 'lat': -16.4984},
    'style': "stamen-terrain",
    'zoom': 3}
)

and here's the result:

Flow Map on Brazil



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source