Необходимо указать дополнительные параметры lataxis
и lonaxis
в geo
словаре в layout
(на основе this ). Такие параметры, как locationmode
и scope
, мне не помогли в таком случае.
Код:
# import all the necessaries libraries
from plotly import tools
import plotly.offline as py
import plotly.graph_objs as go
import pandas as pd
# your df
stores_info_df = pd.DataFrame({'LONGITUDE':[-60,-80,-100,-120],
'LATITUDE':[50,51,53,54],
'STRATEGY':['One','Two','Three','Four']})
# your function
def visualize_geo_store_canada(stores_info_df,
fig_name='store_strategy_Canada_map', title = 'Stores Strategy'):
data = [ dict(
type = 'scattergeo',
##### WHAT TO REPLACE? ########
#locationmode = 'Canada',
###############################
lon = stores_info_df['LONGITUDE'],
lat = stores_info_df['LATITUDE'],
text = stores_info_df['STRATEGY'],
mode = 'markers',
marker = dict(
colorscale= 'Jet',
color = stores_info_df['STRATEGY'],
colorbar = dict(
title = 'Strategy',
titleside = 'top',
tickmode = 'array',
)
))]
layout = dict(
title = title,
geo = dict(
##### WHAT TO REPLACE? ########
#scope='north-america',
###############################
showland = True,
# Add coordinates limits on a map
lataxis = dict(range=[40,70]),
lonaxis = dict(range=[-130,-55]),
landcolor = "rgb(250, 250, 250)",
subunitcolor = "rgb(217, 217, 217)",
countrycolor = "rgb(217, 217, 217)",
countrywidth = 0.5,
subunitwidth = 0.5
),
)
fig = dict(data=data, layout=layout)
py.plot(fig, validate=False)
# plot a plot
visualize_geo_store_canada(stores_info_df)
Выход: