← Back season_20232024.log
Tail 1000 Full File
players: Found 25 players for team NSH players: Loading league baseline... players: Using baseline path: analysis/league/20252026/5v5 league: loading baseline from analysis/league/20252026/5v5/20252026_league_baseline.npy players: Analyzing 26 players... xgs_map: using provided DataFrame (in-memory) -> rows= 6807 _apply_intervals: intervals per_game count=25 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=9 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 1228 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8477446, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 9 10 24 23 26 25 14 4 20 3 5 21 13 17 16 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8477446, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8477446, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) INFO:root:Loaded cached shifts for game 2025020084 from data/20252026/shifts/shifts_2025020084.pkl INFO:root:Loaded cached shifts for game 2025020208 from data/20252026/shifts/shifts_2025020208.pkl Saved plot to analysis/players/20252026/NSH/8477446_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 5210 _apply_intervals: intervals per_game count=19 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 Filtered season dataframe to 832 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8479370, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 9 10 24 23 25 30 4 3 21 13 52 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8479370, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8479370, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8479370_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 3587 _apply_intervals: intervals per_game count=13 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=2 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 Filtered season dataframe to 555 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482062, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [29 18 68 9 10 24 23 26 25 14 4 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482062, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482062, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8482062_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 5416 _apply_intervals: intervals per_game count=20 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=11 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=9 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=11 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=10 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=9 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=10 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=10 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 909 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8484241, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [18 23 26 25 14 4 20 30 3 5 21 13 17 16 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8484241, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8484241, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8484241_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7374 _apply_intervals: intervals per_game count=27 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 1421 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8475158, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 9 10 24 23 26 25 4 20 30 3 5 21 13 17 16 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8475158, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8475158, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8475158_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7321 _apply_intervals: intervals per_game count=27 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 1319 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8475287, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 10 24 23 26 25 14 4 20 30 3 5 21 13 17 16 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8475287, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8475287, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8475287_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7627 _apply_intervals: intervals per_game count=28 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=23 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=11 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 1466 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8481056, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 9 10 24 23 26 25 14 4 20 30 3 5 21 13 17 16 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8481056, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8481056, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8481056_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 4642 _apply_intervals: intervals per_game count=17 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=23 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=26 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=25 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=23 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=25 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 982 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482482, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 9 10 24 23 26 25 3 5 17 20 13] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482482, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482482, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8482482_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 5696 _apply_intervals: intervals per_game count=21 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=10 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=11 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 Filtered season dataframe to 970 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482103, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 10 24 23 26 25 14 4 20 30 5 21 13 17 16 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482103, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482103, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8482103_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 5410 _apply_intervals: intervals per_game count=20 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=23 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=23 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=23 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 Filtered season dataframe to 1073 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482111, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 9 10 24 23 26 25 14 4 20 30 5] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482111, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482111, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8482111_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7385 _apply_intervals: intervals per_game count=27 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 1299 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8474564, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [29 18 68 9 10 24 23 26 25 14 4 20 30 3 5 21 13 17 16 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8474564, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8474564, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8474564_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7627 _apply_intervals: intervals per_game count=28 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=23 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=23 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=25 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=25 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=25 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=26 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 1847 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476869, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 9 10 24 23 26 25 14 4 20 30 3 5 21 13 17 16 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476869, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476869, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8476869_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 6574 _apply_intervals: intervals per_game count=24 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=11 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=11 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 1028 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482768, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 9 10 24 23 26 4 30 25 5 21 13 17 16 52 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482768, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482768, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8482768_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7627 _apply_intervals: intervals per_game count=28 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 1576 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476887, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 9 10 24 23 26 25 14 4 20 30 3 5 21 13 17 16 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476887, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476887, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8476887_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7344 _apply_intervals: intervals per_game count=27 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 1297 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8478047, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 9 24 23 26 25 14 4 20 30 3 5 21 13 17 16 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8478047, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8478047, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8478047_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7076 _apply_intervals: intervals per_game count=26 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020137 rows_in_game=301 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020137 df_game_rows=301 _apply_intervals: game 2025020145 rows_in_game=276 parsed_intervals=13 team_for_game=NSH _apply_intervals: game 2025020145 df_game_rows=276 _apply_intervals: game 2025020156 rows_in_game=253 parsed_intervals=12 team_for_game=NSH _apply_intervals: game 2025020156 df_game_rows=253 _apply_intervals: game 2025020170 rows_in_game=262 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020170 df_game_rows=262 _apply_intervals: game 2025020183 rows_in_game=266 parsed_intervals=14 team_for_game=NSH _apply_intervals: game 2025020183 df_game_rows=266 _apply_intervals: game 2025020201 rows_in_game=299 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020201 df_game_rows=299 _apply_intervals: game 2025020208 rows_in_game=277 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020208 df_game_rows=277 _apply_intervals: game 2025020223 rows_in_game=284 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020223 df_game_rows=284 _apply_intervals: game 2025020233 rows_in_game=240 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020233 df_game_rows=240 _apply_intervals: game 2025020253 rows_in_game=258 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020253 df_game_rows=258 _apply_intervals: game 2025020281 rows_in_game=232 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020281 df_game_rows=232 _apply_intervals: game 2025020296 rows_in_game=249 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020296 df_game_rows=249 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=22 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=16 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=15 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=17 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 1222 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482146, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [68 18 9 10 24 23 26 25 14 4 20 30 3 5 21 13 17 16 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482146, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482146, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) Saved plot to analysis/players/20252026/NSH/8482146_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 4430 _apply_intervals: intervals per_game count=16 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=25 team_for_game=NSH _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020016 rows_in_game=309 parsed_intervals=23 team_for_game=NSH _apply_intervals: game 2025020016 df_game_rows=309 _apply_intervals: game 2025020032 rows_in_game=289 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020032 df_game_rows=289 _apply_intervals: game 2025020041 rows_in_game=306 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020041 df_game_rows=306 _apply_intervals: game 2025020049 rows_in_game=283 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020049 df_game_rows=283 _apply_intervals: game 2025020062 rows_in_game=235 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020084 rows_in_game=262 parsed_intervals=0 team_for_game=NSH _apply_intervals: game 2025020105 rows_in_game=285 parsed_intervals=25 team_for_game=NSH _apply_intervals: game 2025020105 df_game_rows=285 _apply_intervals: game 2025020118 rows_in_game=260 parsed_intervals=18 team_for_game=NSH _apply_intervals: game 2025020118 df_game_rows=260 _apply_intervals: game 2025020343 rows_in_game=271 parsed_intervals=21 team_for_game=NSH _apply_intervals: game 2025020343 df_game_rows=271 _apply_intervals: game 2025020357 rows_in_game=274 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020357 df_game_rows=274 _apply_intervals: game 2025020361 rows_in_game=280 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020361 df_game_rows=280 _apply_intervals: game 2025020389 rows_in_game=280 parsed_intervals=24 team_for_game=NSH _apply_intervals: game 2025020389 df_game_rows=280 _apply_intervals: game 2025020397 rows_in_game=279 parsed_intervals=23 team_for_game=NSH _apply_intervals: game 2025020397 df_game_rows=279 _apply_intervals: game 2025020416 rows_in_game=281 parsed_intervals=20 team_for_game=NSH _apply_intervals: game 2025020416 df_game_rows=281 _apply_intervals: game 2025020429 rows_in_game=294 parsed_intervals=19 team_for_game=NSH _apply_intervals: game 2025020429 df_game_rows=294 Filtered season dataframe to 1098 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8474600, 'team': 'NSH'} team='NSH' DEBUG: xgs_map df_filtered unique teams: [12 18 29 68 9 10 24 23 21 13 17 16 52 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8474600, 'team': 'NSH'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=NSH condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8474600, 'team': 'NSH'} /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:377: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h = ax.scatter(grp1[xcol], grp1[ycol], c=c1, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7) /home/spoon/new_puck/puck/plot.py:382: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('x'). Matplotlib is ignoring the edgecolor in favor of the facecolor. This behavior may change in the future. h2 = ax.scatter(grp2[xcol], grp2[ycol], c=c2, marker=m, s=s, edgecolors='none', zorder=5, alpha=0.7)