Skip to content

Instantly share code, notes, and snippets.

@databyjp
Created February 22, 2020 09:44
Show Gist options
  • Save databyjp/2ab3f3f7a350a2cb4fc9e31924f25b06 to your computer and use it in GitHub Desktop.
Save databyjp/2ab3f3f7a350a2cb4fc9e31924f25b06 to your computer and use it in GitHub Desktop.
# ========== ANIMATE TRAVEL PATHS ==========
# FOR ONE TEAM
teamname = 'DALLAS_MAVERICKS'
travel_team_df = travel_df[travel_df.teamname == teamname]
team_col = teamcolor_dict[teamname]
lon_vals = np.append(travel_team_df['orig_lon'].values, travel_team_df['dest_lon'].values[-1])
lat_vals = np.append(travel_team_df['orig_lat'].values, travel_team_df['dest_lat'].values[-1])
frames = list()
lon_data = np.array(lon_vals[0])
lat_data = np.array(lat_vals[0])
for i in range(len(lon_vals)):
frames.append(
go.Frame(data=[go.Scattergeo(lon=lon_data, lat=lat_data)])
)
lon_data = np.append(lon_data, lon_vals[i])
lat_data = np.append(lat_data, lat_vals[i])
fig = go.Figure(
data=[
go.Scattergeo(
locationmode='USA-states', mode="lines",
lon=np.append(lon_vals[0], lon_vals[0]),
lat=np.append(lat_vals[0], lat_vals[0]),
line=dict(width=1, color=team_col), opacity=0.1,
hoverinfo='none', name=teamname
)
],
layout=go.Layout(
title="Start Title",
updatemenus=[dict(
type="buttons",
buttons=[dict(label="Play", method="animate", args=[None])])]
),
frames=frames
)
fig.add_trace(go.Scattergeo(
lon=arena_df['lon'], lat=arena_df['lat'], marker=dict(size=8, color='slategray'),
hoverinfo='text', text=arena_df['teamname'] + ' - ' + arena_df['arena_name'], name='Arenas'
))
fig['data'][1]['marker']['symbol'] = 'triangle-left'
fig.update_layout(
title_text='NBA Travel paths',
geo=dict(
scope='north america',
projection_type='azimuthal equal area',
showland=True,
fitbounds="locations",
landcolor='rgb(243, 243, 243)',
countrycolor='rgb(204, 204, 204)',
),
)
fig.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment