← Back season_20252026.log
Tail 1000 Full File
/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/BUF/8482671_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7743 _apply_intervals: intervals per_game count=28 _apply_intervals: game 2025010076 rows_in_game=250 parsed_intervals=17 team_for_game=BUF _apply_intervals: game 2025010076 df_game_rows=250 _apply_intervals: game 2025010085 rows_in_game=276 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025010085 df_game_rows=276 _apply_intervals: game 2025020009 rows_in_game=298 parsed_intervals=19 team_for_game=BUF _apply_intervals: game 2025020009 df_game_rows=298 _apply_intervals: game 2025020024 rows_in_game=291 parsed_intervals=18 team_for_game=BUF _apply_intervals: game 2025020024 df_game_rows=291 _apply_intervals: game 2025020039 rows_in_game=292 parsed_intervals=15 team_for_game=BUF _apply_intervals: game 2025020039 df_game_rows=292 _apply_intervals: game 2025020057 rows_in_game=291 parsed_intervals=0 team_for_game=BUF _apply_intervals: game 2025020076 rows_in_game=326 parsed_intervals=0 team_for_game=BUF _apply_intervals: game 2025020095 rows_in_game=273 parsed_intervals=18 team_for_game=BUF _apply_intervals: game 2025020095 df_game_rows=273 _apply_intervals: game 2025020123 rows_in_game=278 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025020123 df_game_rows=278 _apply_intervals: game 2025020132 rows_in_game=265 parsed_intervals=23 team_for_game=BUF _apply_intervals: game 2025020132 df_game_rows=265 _apply_intervals: game 2025020152 rows_in_game=284 parsed_intervals=20 team_for_game=BUF _apply_intervals: game 2025020152 df_game_rows=284 _apply_intervals: game 2025020167 rows_in_game=300 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025020167 df_game_rows=300 _apply_intervals: game 2025020186 rows_in_game=288 parsed_intervals=19 team_for_game=BUF _apply_intervals: game 2025020186 df_game_rows=288 _apply_intervals: game 2025020203 rows_in_game=243 parsed_intervals=20 team_for_game=BUF _apply_intervals: game 2025020203 df_game_rows=243 _apply_intervals: game 2025020219 rows_in_game=229 parsed_intervals=17 team_for_game=BUF _apply_intervals: game 2025020219 df_game_rows=229 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=19 team_for_game=BUF _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020267 rows_in_game=272 parsed_intervals=22 team_for_game=BUF _apply_intervals: game 2025020267 df_game_rows=272 _apply_intervals: game 2025020275 rows_in_game=291 parsed_intervals=13 team_for_game=BUF _apply_intervals: game 2025020275 df_game_rows=291 _apply_intervals: game 2025020287 rows_in_game=281 parsed_intervals=20 team_for_game=BUF _apply_intervals: game 2025020287 df_game_rows=281 _apply_intervals: game 2025020302 rows_in_game=281 parsed_intervals=17 team_for_game=BUF _apply_intervals: game 2025020302 df_game_rows=281 _apply_intervals: game 2025020316 rows_in_game=271 parsed_intervals=20 team_for_game=BUF _apply_intervals: game 2025020316 df_game_rows=271 _apply_intervals: game 2025020331 rows_in_game=260 parsed_intervals=18 team_for_game=BUF _apply_intervals: game 2025020331 df_game_rows=260 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=13 team_for_game=BUF _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020366 rows_in_game=226 parsed_intervals=11 team_for_game=BUF _apply_intervals: game 2025020366 df_game_rows=226 _apply_intervals: game 2025020379 rows_in_game=289 parsed_intervals=18 team_for_game=BUF _apply_intervals: game 2025020379 df_game_rows=289 _apply_intervals: game 2025020399 rows_in_game=271 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025020399 df_game_rows=271 _apply_intervals: game 2025020408 rows_in_game=239 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025020408 df_game_rows=239 _apply_intervals: game 2025020423 rows_in_game=287 parsed_intervals=11 team_for_game=BUF _apply_intervals: game 2025020423 df_game_rows=287 Filtered season dataframe to 1487 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8481522, 'team': 'BUF'} team='BUF' DEBUG: xgs_map df_filtered unique teams: [ 7 5 3 6 21 8 10 29 15 68 19 12 17 22 20 16 1 30 52 4] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8481522, 'team': 'BUF'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=BUF condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8481522, 'team': 'BUF'} /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/BUF/8481522_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7786 _apply_intervals: intervals per_game count=28 _apply_intervals: game 2025010085 rows_in_game=276 parsed_intervals=21 team_for_game=BUF _apply_intervals: game 2025010085 df_game_rows=276 _apply_intervals: game 2025020009 rows_in_game=298 parsed_intervals=26 team_for_game=BUF _apply_intervals: game 2025020009 df_game_rows=298 _apply_intervals: game 2025020024 rows_in_game=291 parsed_intervals=27 team_for_game=BUF _apply_intervals: game 2025020024 df_game_rows=291 _apply_intervals: game 2025020039 rows_in_game=292 parsed_intervals=24 team_for_game=BUF _apply_intervals: game 2025020039 df_game_rows=292 _apply_intervals: game 2025020057 rows_in_game=291 parsed_intervals=0 team_for_game=BUF _apply_intervals: game 2025020076 rows_in_game=326 parsed_intervals=0 team_for_game=BUF _apply_intervals: game 2025020095 rows_in_game=273 parsed_intervals=23 team_for_game=BUF _apply_intervals: game 2025020095 df_game_rows=273 _apply_intervals: game 2025020109 rows_in_game=293 parsed_intervals=24 team_for_game=BUF _apply_intervals: game 2025020109 df_game_rows=293 _apply_intervals: game 2025020123 rows_in_game=278 parsed_intervals=24 team_for_game=BUF _apply_intervals: game 2025020123 df_game_rows=278 _apply_intervals: game 2025020132 rows_in_game=265 parsed_intervals=23 team_for_game=BUF _apply_intervals: game 2025020132 df_game_rows=265 _apply_intervals: game 2025020152 rows_in_game=284 parsed_intervals=24 team_for_game=BUF _apply_intervals: game 2025020152 df_game_rows=284 _apply_intervals: game 2025020167 rows_in_game=300 parsed_intervals=23 team_for_game=BUF _apply_intervals: game 2025020167 df_game_rows=300 _apply_intervals: game 2025020186 rows_in_game=288 parsed_intervals=21 team_for_game=BUF _apply_intervals: game 2025020186 df_game_rows=288 _apply_intervals: game 2025020203 rows_in_game=243 parsed_intervals=23 team_for_game=BUF _apply_intervals: game 2025020203 df_game_rows=243 _apply_intervals: game 2025020219 rows_in_game=229 parsed_intervals=23 team_for_game=BUF _apply_intervals: game 2025020219 df_game_rows=229 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=24 team_for_game=BUF _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020267 rows_in_game=272 parsed_intervals=25 team_for_game=BUF _apply_intervals: game 2025020267 df_game_rows=272 _apply_intervals: game 2025020275 rows_in_game=291 parsed_intervals=21 team_for_game=BUF _apply_intervals: game 2025020275 df_game_rows=291 _apply_intervals: game 2025020287 rows_in_game=281 parsed_intervals=24 team_for_game=BUF _apply_intervals: game 2025020287 df_game_rows=281 _apply_intervals: game 2025020302 rows_in_game=281 parsed_intervals=23 team_for_game=BUF _apply_intervals: game 2025020302 df_game_rows=281 _apply_intervals: game 2025020316 rows_in_game=271 parsed_intervals=26 team_for_game=BUF _apply_intervals: game 2025020316 df_game_rows=271 _apply_intervals: game 2025020331 rows_in_game=260 parsed_intervals=20 team_for_game=BUF _apply_intervals: game 2025020331 df_game_rows=260 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=20 team_for_game=BUF _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020366 rows_in_game=226 parsed_intervals=22 team_for_game=BUF _apply_intervals: game 2025020366 df_game_rows=226 _apply_intervals: game 2025020379 rows_in_game=289 parsed_intervals=22 team_for_game=BUF _apply_intervals: game 2025020379 df_game_rows=289 _apply_intervals: game 2025020399 rows_in_game=271 parsed_intervals=23 team_for_game=BUF _apply_intervals: game 2025020399 df_game_rows=271 _apply_intervals: game 2025020408 rows_in_game=239 parsed_intervals=18 team_for_game=BUF _apply_intervals: game 2025020408 df_game_rows=239 _apply_intervals: game 2025020423 rows_in_game=287 parsed_intervals=20 team_for_game=BUF _apply_intervals: game 2025020423 df_game_rows=287 Filtered season dataframe to 1963 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8481524, 'team': 'BUF'} team='BUF' DEBUG: xgs_map df_filtered unique teams: [ 7 5 3 6 21 8 17 10 29 15 68 19 12 22 20 16 1 30 52 4] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8481524, 'team': 'BUF'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=BUF condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8481524, 'team': 'BUF'} /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/BUF/8481524_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 2745 _apply_intervals: intervals per_game count=10 _apply_intervals: game 2025010076 rows_in_game=250 parsed_intervals=13 team_for_game=BUF _apply_intervals: game 2025010076 df_game_rows=250 _apply_intervals: game 2025020152 rows_in_game=284 parsed_intervals=23 team_for_game=BUF _apply_intervals: game 2025020152 df_game_rows=284 _apply_intervals: game 2025020167 rows_in_game=300 parsed_intervals=18 team_for_game=BUF _apply_intervals: game 2025020167 df_game_rows=300 _apply_intervals: game 2025020186 rows_in_game=288 parsed_intervals=19 team_for_game=BUF _apply_intervals: game 2025020186 df_game_rows=288 _apply_intervals: game 2025020203 rows_in_game=243 parsed_intervals=22 team_for_game=BUF _apply_intervals: game 2025020203 df_game_rows=243 _apply_intervals: game 2025020219 rows_in_game=229 parsed_intervals=20 team_for_game=BUF _apply_intervals: game 2025020219 df_game_rows=229 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=19 team_for_game=BUF _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020267 rows_in_game=272 parsed_intervals=19 team_for_game=BUF _apply_intervals: game 2025020267 df_game_rows=272 _apply_intervals: game 2025020275 rows_in_game=291 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025020275 df_game_rows=291 _apply_intervals: game 2025020287 rows_in_game=281 parsed_intervals=15 team_for_game=BUF _apply_intervals: game 2025020287 df_game_rows=281 Filtered season dataframe to 615 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480891, 'team': 'BUF'} team='BUF' DEBUG: xgs_map df_filtered unique teams: [ 7 5 29 6 15 68 19 12 21 17] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480891, 'team': 'BUF'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=BUF condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480891, 'team': 'BUF'} /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/BUF/8480891_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 8036 _apply_intervals: intervals per_game count=29 _apply_intervals: game 2025010076 rows_in_game=250 parsed_intervals=15 team_for_game=BUF _apply_intervals: game 2025010076 df_game_rows=250 _apply_intervals: game 2025010085 rows_in_game=276 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025010085 df_game_rows=276 _apply_intervals: game 2025020009 rows_in_game=298 parsed_intervals=19 team_for_game=BUF _apply_intervals: game 2025020009 df_game_rows=298 _apply_intervals: game 2025020024 rows_in_game=291 parsed_intervals=18 team_for_game=BUF _apply_intervals: game 2025020024 df_game_rows=291 _apply_intervals: game 2025020039 rows_in_game=292 parsed_intervals=23 team_for_game=BUF _apply_intervals: game 2025020039 df_game_rows=292 _apply_intervals: game 2025020057 rows_in_game=291 parsed_intervals=0 team_for_game=BUF _apply_intervals: game 2025020076 rows_in_game=326 parsed_intervals=0 team_for_game=BUF _apply_intervals: game 2025020095 rows_in_game=273 parsed_intervals=22 team_for_game=BUF _apply_intervals: game 2025020095 df_game_rows=273 _apply_intervals: game 2025020109 rows_in_game=293 parsed_intervals=21 team_for_game=BUF _apply_intervals: game 2025020109 df_game_rows=293 _apply_intervals: game 2025020123 rows_in_game=278 parsed_intervals=18 team_for_game=BUF _apply_intervals: game 2025020123 df_game_rows=278 _apply_intervals: game 2025020132 rows_in_game=265 parsed_intervals=15 team_for_game=BUF _apply_intervals: game 2025020132 df_game_rows=265 _apply_intervals: game 2025020152 rows_in_game=284 parsed_intervals=21 team_for_game=BUF _apply_intervals: game 2025020152 df_game_rows=284 _apply_intervals: game 2025020167 rows_in_game=300 parsed_intervals=19 team_for_game=BUF _apply_intervals: game 2025020167 df_game_rows=300 _apply_intervals: game 2025020186 rows_in_game=288 parsed_intervals=23 team_for_game=BUF _apply_intervals: game 2025020186 df_game_rows=288 _apply_intervals: game 2025020203 rows_in_game=243 parsed_intervals=22 team_for_game=BUF _apply_intervals: game 2025020203 df_game_rows=243 _apply_intervals: game 2025020219 rows_in_game=229 parsed_intervals=22 team_for_game=BUF _apply_intervals: game 2025020219 df_game_rows=229 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=22 team_for_game=BUF _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020267 rows_in_game=272 parsed_intervals=21 team_for_game=BUF _apply_intervals: game 2025020267 df_game_rows=272 _apply_intervals: game 2025020275 rows_in_game=291 parsed_intervals=20 team_for_game=BUF _apply_intervals: game 2025020275 df_game_rows=291 _apply_intervals: game 2025020287 rows_in_game=281 parsed_intervals=24 team_for_game=BUF _apply_intervals: game 2025020287 df_game_rows=281 _apply_intervals: game 2025020302 rows_in_game=281 parsed_intervals=22 team_for_game=BUF _apply_intervals: game 2025020302 df_game_rows=281 _apply_intervals: game 2025020316 rows_in_game=271 parsed_intervals=22 team_for_game=BUF _apply_intervals: game 2025020316 df_game_rows=271 _apply_intervals: game 2025020331 rows_in_game=260 parsed_intervals=20 team_for_game=BUF _apply_intervals: game 2025020331 df_game_rows=260 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020366 rows_in_game=226 parsed_intervals=21 team_for_game=BUF _apply_intervals: game 2025020366 df_game_rows=226 _apply_intervals: game 2025020379 rows_in_game=289 parsed_intervals=21 team_for_game=BUF _apply_intervals: game 2025020379 df_game_rows=289 _apply_intervals: game 2025020399 rows_in_game=271 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025020399 df_game_rows=271 _apply_intervals: game 2025020408 rows_in_game=239 parsed_intervals=14 team_for_game=BUF _apply_intervals: game 2025020408 df_game_rows=239 _apply_intervals: game 2025020423 rows_in_game=287 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025020423 df_game_rows=287 Filtered season dataframe to 1552 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8477949, 'team': 'BUF'} team='BUF' DEBUG: xgs_map df_filtered unique teams: [ 7 5 3 6 21 8 17 10 29 15 68 19 12 22 20 16 1 30 52 4] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8477949, 'team': 'BUF'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=BUF condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8477949, 'team': 'BUF'} /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/BUF/8477949_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 6583 _apply_intervals: intervals per_game count=24 _apply_intervals: game 2025010076 rows_in_game=250 parsed_intervals=9 team_for_game=BUF _apply_intervals: game 2025010076 df_game_rows=250 _apply_intervals: game 2025010085 rows_in_game=276 parsed_intervals=10 team_for_game=BUF _apply_intervals: game 2025010085 df_game_rows=276 _apply_intervals: game 2025020009 rows_in_game=298 parsed_intervals=10 team_for_game=BUF _apply_intervals: game 2025020009 df_game_rows=298 _apply_intervals: game 2025020039 rows_in_game=292 parsed_intervals=13 team_for_game=BUF _apply_intervals: game 2025020039 df_game_rows=292 _apply_intervals: game 2025020109 rows_in_game=293 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025020109 df_game_rows=293 _apply_intervals: game 2025020123 rows_in_game=278 parsed_intervals=14 team_for_game=BUF _apply_intervals: game 2025020123 df_game_rows=278 _apply_intervals: game 2025020132 rows_in_game=265 parsed_intervals=18 team_for_game=BUF _apply_intervals: game 2025020132 df_game_rows=265 _apply_intervals: game 2025020152 rows_in_game=284 parsed_intervals=22 team_for_game=BUF _apply_intervals: game 2025020152 df_game_rows=284 _apply_intervals: game 2025020167 rows_in_game=300 parsed_intervals=12 team_for_game=BUF _apply_intervals: game 2025020167 df_game_rows=300 _apply_intervals: game 2025020186 rows_in_game=288 parsed_intervals=17 team_for_game=BUF _apply_intervals: game 2025020186 df_game_rows=288 _apply_intervals: game 2025020203 rows_in_game=243 parsed_intervals=12 team_for_game=BUF _apply_intervals: game 2025020203 df_game_rows=243 _apply_intervals: game 2025020219 rows_in_game=229 parsed_intervals=12 team_for_game=BUF _apply_intervals: game 2025020219 df_game_rows=229 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=12 team_for_game=BUF _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020275 rows_in_game=291 parsed_intervals=12 team_for_game=BUF _apply_intervals: game 2025020275 df_game_rows=291 _apply_intervals: game 2025020287 rows_in_game=281 parsed_intervals=14 team_for_game=BUF _apply_intervals: game 2025020287 df_game_rows=281 _apply_intervals: game 2025020302 rows_in_game=281 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025020302 df_game_rows=281 _apply_intervals: game 2025020316 rows_in_game=271 parsed_intervals=16 team_for_game=BUF _apply_intervals: game 2025020316 df_game_rows=271 _apply_intervals: game 2025020331 rows_in_game=260 parsed_intervals=17 team_for_game=BUF _apply_intervals: game 2025020331 df_game_rows=260 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=14 team_for_game=BUF _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020366 rows_in_game=226 parsed_intervals=12 team_for_game=BUF _apply_intervals: game 2025020366 df_game_rows=226 _apply_intervals: game 2025020379 rows_in_game=289 parsed_intervals=17 team_for_game=BUF _apply_intervals: game 2025020379 df_game_rows=289 _apply_intervals: game 2025020399 rows_in_game=271 parsed_intervals=17 team_for_game=BUF _apply_intervals: game 2025020399 df_game_rows=271 _apply_intervals: game 2025020408 rows_in_game=239 parsed_intervals=14 team_for_game=BUF _apply_intervals: game 2025020408 df_game_rows=239 _apply_intervals: game 2025020423 rows_in_game=287 parsed_intervals=12 team_for_game=BUF _apply_intervals: game 2025020423 df_game_rows=287 Filtered season dataframe to 1114 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8479359, 'team': 'BUF'} team='BUF' DEBUG: xgs_map df_filtered unique teams: [ 7 5 3 21 17 10 29 6 15 68 19 12 22 20 16 1 30 52 4] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8479359, 'team': 'BUF'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=BUF condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8479359, 'team': 'BUF'} /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/BUF/8479359_map.png players: Saved stats to analysis/players/20252026/BUF/player_stats.csv players: Scatter plot includes 25 players (min_games=5) players: Saved scatter plot to analysis/players/20252026/BUF/player_scatter.png players: Analysis complete. Processing CAR (Plotting)... Generating maps for 2 players (skipped 23 up-to-date). players: Starting analysis. Scope=season, Team=CAR, Condition={'game_state': ['5v5'], 'is_net_empty': [0]} DEBUG: analyze.players called INFO:root:Loaded cached shifts for game 2025010091 from data/20252026/shifts/shifts_2025010091.pkl INFO:root:Loaded cached shifts for game 2025020055 from data/20252026/shifts/shifts_2025020055.pkl INFO:root:Loaded cached shifts for game 2025020086 from data/20252026/shifts/shifts_2025020086.pkl INFO:root:Loaded cached shifts for game 2025020097 from data/20252026/shifts/shifts_2025020097.pkl INFO:root:Loaded cached shifts for game 2025020121 from data/20252026/shifts/shifts_2025020121.pkl INFO:root:Loaded cached shifts for game 2025020138 from data/20252026/shifts/shifts_2025020138.pkl INFO:root:Loaded cached shifts for game 2025020171 from data/20252026/shifts/shifts_2025020171.pkl INFO:root:Loaded cached shifts for game 2025020206 from data/20252026/shifts/shifts_2025020206.pkl INFO:root:Loaded cached shifts for game 2025020222 from data/20252026/shifts/shifts_2025020222.pkl INFO:root:Loaded cached shifts for game 2025020246 from data/20252026/shifts/shifts_2025020246.pkl INFO:root:Loaded cached shifts for game 2025020259 from data/20252026/shifts/shifts_2025020259.pkl INFO:root:Loaded cached shifts for game 2025020279 from data/20252026/shifts/shifts_2025020279.pkl INFO:root:Loaded cached shifts for game 2025020289 from data/20252026/shifts/shifts_2025020289.pkl INFO:root:Loaded cached shifts for game 2025020317 from data/20252026/shifts/shifts_2025020317.pkl INFO:root:Loaded cached shifts for game 2025020333 from data/20252026/shifts/shifts_2025020333.pkl INFO:root:Loaded cached shifts for game 2025020431 from data/20252026/shifts/shifts_2025020431.pkl players: Ensuring xG predictions... players: Found 28 players for team CAR 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 28 players... xgs_map: using provided DataFrame (in-memory) -> rows= 6063 _apply_intervals: intervals per_game count=21 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=22 team_for_game=CAR _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020055 rows_in_game=285 parsed_intervals=22 team_for_game=CAR _apply_intervals: game 2025020055 df_game_rows=285 _apply_intervals: game 2025020070 rows_in_game=291 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020086 rows_in_game=318 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020097 rows_in_game=264 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020097 df_game_rows=264 _apply_intervals: game 2025020121 rows_in_game=335 parsed_intervals=22 team_for_game=CAR _apply_intervals: game 2025020121 df_game_rows=335 _apply_intervals: game 2025020138 rows_in_game=325 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020138 df_game_rows=325 _apply_intervals: game 2025020171 rows_in_game=321 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020171 df_game_rows=321 _apply_intervals: game 2025020181 rows_in_game=241 parsed_intervals=22 team_for_game=CAR _apply_intervals: game 2025020181 df_game_rows=241 _apply_intervals: game 2025020206 rows_in_game=268 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020206 df_game_rows=268 _apply_intervals: game 2025020222 rows_in_game=304 parsed_intervals=25 team_for_game=CAR _apply_intervals: game 2025020222 df_game_rows=304 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=30 team_for_game=CAR _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020246 rows_in_game=284 parsed_intervals=22 team_for_game=CAR _apply_intervals: game 2025020246 df_game_rows=284 _apply_intervals: game 2025020259 rows_in_game=296 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020259 df_game_rows=296 _apply_intervals: game 2025020279 rows_in_game=288 parsed_intervals=22 team_for_game=CAR _apply_intervals: game 2025020279 df_game_rows=288 _apply_intervals: game 2025020289 rows_in_game=282 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020289 df_game_rows=282 _apply_intervals: game 2025020301 rows_in_game=309 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020301 df_game_rows=309 _apply_intervals: game 2025020317 rows_in_game=274 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020317 df_game_rows=274 _apply_intervals: game 2025020333 rows_in_game=273 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020333 df_game_rows=273 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=7 team_for_game=CAR _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020431 rows_in_game=272 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020431 df_game_rows=272 Filtered season dataframe to 1174 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476422, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [12 18 28 54 21 25 2 6 3 30 7 10 15 23 22 52] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476422, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476422, 'team': 'CAR'} /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 2025020014 from data/20252026/shifts/shifts_2025020014.pkl INFO:root:Loaded cached shifts for game 2025020030 from data/20252026/shifts/shifts_2025020030.pkl INFO:root:Loaded cached shifts for game 2025020155 from data/20252026/shifts/shifts_2025020155.pkl INFO:root:Loaded cached shifts for game 2025020368 from data/20252026/shifts/shifts_2025020368.pkl INFO:root:Loaded cached shifts for game 2025020387 from data/20252026/shifts/shifts_2025020387.pkl INFO:root:Loaded cached shifts for game 2025020404 from data/20252026/shifts/shifts_2025020404.pkl Saved plot to analysis/players/20252026/CAR/8476422_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7832 _apply_intervals: intervals per_game count=27 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020014 rows_in_game=309 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020014 df_game_rows=309 _apply_intervals: game 2025020030 rows_in_game=315 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020030 df_game_rows=315 _apply_intervals: game 2025020055 rows_in_game=285 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020055 df_game_rows=285 _apply_intervals: game 2025020070 rows_in_game=291 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020086 rows_in_game=318 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020097 rows_in_game=264 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020097 df_game_rows=264 _apply_intervals: game 2025020121 rows_in_game=335 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020121 df_game_rows=335 _apply_intervals: game 2025020138 rows_in_game=325 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020138 df_game_rows=325 _apply_intervals: game 2025020155 rows_in_game=299 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020155 df_game_rows=299 _apply_intervals: game 2025020171 rows_in_game=321 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020171 df_game_rows=321 _apply_intervals: game 2025020181 rows_in_game=241 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020181 df_game_rows=241 _apply_intervals: game 2025020206 rows_in_game=268 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020206 df_game_rows=268 _apply_intervals: game 2025020222 rows_in_game=304 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020222 df_game_rows=304 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020246 rows_in_game=284 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020246 df_game_rows=284 _apply_intervals: game 2025020259 rows_in_game=296 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020259 df_game_rows=296 _apply_intervals: game 2025020279 rows_in_game=288 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020279 df_game_rows=288 _apply_intervals: game 2025020289 rows_in_game=282 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020289 df_game_rows=282 _apply_intervals: game 2025020301 rows_in_game=309 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020301 df_game_rows=309 _apply_intervals: game 2025020317 rows_in_game=274 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020317 df_game_rows=274 _apply_intervals: game 2025020333 rows_in_game=273 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020333 df_game_rows=273 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020368 rows_in_game=308 parsed_intervals=22 team_for_game=CAR _apply_intervals: game 2025020368 df_game_rows=308 _apply_intervals: game 2025020387 rows_in_game=279 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020387 df_game_rows=279 _apply_intervals: game 2025020404 rows_in_game=259 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020404 df_game_rows=259 _apply_intervals: game 2025020431 rows_in_game=272 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020431 df_game_rows=272 Filtered season dataframe to 1461 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482702, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [18 12 1 4 28 54 21 25 2 6 3 30 7 10 15 23 22 52 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482702, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482702, 'team': 'CAR'} /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/CAR/8482702_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7832 _apply_intervals: intervals per_game count=27 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020014 rows_in_game=309 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020014 df_game_rows=309 _apply_intervals: game 2025020030 rows_in_game=315 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020030 df_game_rows=315 _apply_intervals: game 2025020055 rows_in_game=285 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020055 df_game_rows=285 _apply_intervals: game 2025020070 rows_in_game=291 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020086 rows_in_game=318 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020097 rows_in_game=264 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020097 df_game_rows=264 _apply_intervals: game 2025020121 rows_in_game=335 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020121 df_game_rows=335 _apply_intervals: game 2025020138 rows_in_game=325 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020138 df_game_rows=325 _apply_intervals: game 2025020155 rows_in_game=299 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020155 df_game_rows=299 _apply_intervals: game 2025020171 rows_in_game=321 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020171 df_game_rows=321 _apply_intervals: game 2025020181 rows_in_game=241 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020181 df_game_rows=241 _apply_intervals: game 2025020206 rows_in_game=268 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020206 df_game_rows=268 _apply_intervals: game 2025020222 rows_in_game=304 parsed_intervals=12 team_for_game=CAR _apply_intervals: game 2025020222 df_game_rows=304 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020246 rows_in_game=284 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020246 df_game_rows=284 _apply_intervals: game 2025020259 rows_in_game=296 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020259 df_game_rows=296 _apply_intervals: game 2025020279 rows_in_game=288 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020279 df_game_rows=288 _apply_intervals: game 2025020289 rows_in_game=282 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020289 df_game_rows=282 _apply_intervals: game 2025020301 rows_in_game=309 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020301 df_game_rows=309 _apply_intervals: game 2025020317 rows_in_game=274 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020317 df_game_rows=274 _apply_intervals: game 2025020333 rows_in_game=273 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020333 df_game_rows=273 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020368 rows_in_game=308 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020368 df_game_rows=308 _apply_intervals: game 2025020387 rows_in_game=279 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020387 df_game_rows=279 _apply_intervals: game 2025020404 rows_in_game=259 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020404 df_game_rows=259 _apply_intervals: game 2025020431 rows_in_game=272 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020431 df_game_rows=272 Filtered season dataframe to 1384 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8475791, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [12 18 1 4 28 54 21 25 2 6 3 30 7 10 15 23 22 52 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8475791, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8475791, 'team': 'CAR'} /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/CAR/8475791_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 5443 _apply_intervals: intervals per_game count=19 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020014 rows_in_game=309 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020014 df_game_rows=309 _apply_intervals: game 2025020030 rows_in_game=315 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020030 df_game_rows=315 _apply_intervals: game 2025020055 rows_in_game=285 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020055 df_game_rows=285 _apply_intervals: game 2025020070 rows_in_game=291 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020086 rows_in_game=318 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020097 rows_in_game=264 parsed_intervals=12 team_for_game=CAR _apply_intervals: game 2025020097 df_game_rows=264 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=23 team_for_game=CAR _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020246 rows_in_game=284 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020246 df_game_rows=284 _apply_intervals: game 2025020279 rows_in_game=288 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020279 df_game_rows=288 _apply_intervals: game 2025020289 rows_in_game=282 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020289 df_game_rows=282 _apply_intervals: game 2025020301 rows_in_game=309 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020301 df_game_rows=309 _apply_intervals: game 2025020317 rows_in_game=274 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020317 df_game_rows=274 _apply_intervals: game 2025020333 rows_in_game=273 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020333 df_game_rows=273 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020368 rows_in_game=308 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020368 df_game_rows=308 _apply_intervals: game 2025020387 rows_in_game=279 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020387 df_game_rows=279 _apply_intervals: game 2025020404 rows_in_game=259 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020404 df_game_rows=259 _apply_intervals: game 2025020431 rows_in_game=272 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020431 df_game_rows=272 Filtered season dataframe to 941 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8477478, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [12 18 1 4 28 54 7 10 23 22 6 30 52 3 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8477478, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8477478, 'team': 'CAR'} /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/CAR/8477478_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7832 _apply_intervals: intervals per_game count=27 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020014 rows_in_game=309 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020014 df_game_rows=309 _apply_intervals: game 2025020030 rows_in_game=315 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020030 df_game_rows=315 _apply_intervals: game 2025020055 rows_in_game=285 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020055 df_game_rows=285 _apply_intervals: game 2025020070 rows_in_game=291 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020086 rows_in_game=318 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020097 rows_in_game=264 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020097 df_game_rows=264 _apply_intervals: game 2025020121 rows_in_game=335 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020121 df_game_rows=335 _apply_intervals: game 2025020138 rows_in_game=325 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020138 df_game_rows=325 _apply_intervals: game 2025020155 rows_in_game=299 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020155 df_game_rows=299 _apply_intervals: game 2025020171 rows_in_game=321 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020171 df_game_rows=321 _apply_intervals: game 2025020181 rows_in_game=241 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020181 df_game_rows=241 _apply_intervals: game 2025020206 rows_in_game=268 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020206 df_game_rows=268 _apply_intervals: game 2025020222 rows_in_game=304 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020222 df_game_rows=304 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020246 rows_in_game=284 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020246 df_game_rows=284 _apply_intervals: game 2025020259 rows_in_game=296 parsed_intervals=12 team_for_game=CAR _apply_intervals: game 2025020259 df_game_rows=296 _apply_intervals: game 2025020279 rows_in_game=288 parsed_intervals=2 team_for_game=CAR _apply_intervals: game 2025020279 df_game_rows=288 _apply_intervals: game 2025020289 rows_in_game=282 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020289 df_game_rows=282 _apply_intervals: game 2025020301 rows_in_game=309 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020301 df_game_rows=309 _apply_intervals: game 2025020317 rows_in_game=274 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020317 df_game_rows=274 _apply_intervals: game 2025020333 rows_in_game=273 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020333 df_game_rows=273 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020368 rows_in_game=308 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020368 df_game_rows=308 _apply_intervals: game 2025020387 rows_in_game=279 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020387 df_game_rows=279 _apply_intervals: game 2025020404 rows_in_game=259 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020404 df_game_rows=259 _apply_intervals: game 2025020431 rows_in_game=272 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020431 df_game_rows=272 Filtered season dataframe to 1448 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482093, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [12 18 1 4 28 54 21 25 2 6 3 30 7 10 15 23 22 52 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482093, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482093, 'team': 'CAR'} /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/CAR/8482093_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 5529 _apply_intervals: intervals per_game count=19 _apply_intervals: game 2025020014 rows_in_game=309 parsed_intervals=26 team_for_game=CAR _apply_intervals: game 2025020014 df_game_rows=309 _apply_intervals: game 2025020030 rows_in_game=315 parsed_intervals=25 team_for_game=CAR _apply_intervals: game 2025020030 df_game_rows=315 _apply_intervals: game 2025020055 rows_in_game=285 parsed_intervals=24 team_for_game=CAR _apply_intervals: game 2025020055 df_game_rows=285 _apply_intervals: game 2025020070 rows_in_game=291 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020086 rows_in_game=318 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020097 rows_in_game=264 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020097 df_game_rows=264 _apply_intervals: game 2025020222 rows_in_game=304 parsed_intervals=24 team_for_game=CAR _apply_intervals: game 2025020222 df_game_rows=304 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=24 team_for_game=CAR _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020246 rows_in_game=284 parsed_intervals=26 team_for_game=CAR _apply_intervals: game 2025020246 df_game_rows=284 _apply_intervals: game 2025020259 rows_in_game=296 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020259 df_game_rows=296 _apply_intervals: game 2025020279 rows_in_game=288 parsed_intervals=27 team_for_game=CAR _apply_intervals: game 2025020279 df_game_rows=288 _apply_intervals: game 2025020289 rows_in_game=282 parsed_intervals=25 team_for_game=CAR _apply_intervals: game 2025020289 df_game_rows=282 _apply_intervals: game 2025020301 rows_in_game=309 parsed_intervals=25 team_for_game=CAR _apply_intervals: game 2025020301 df_game_rows=309 _apply_intervals: game 2025020317 rows_in_game=274 parsed_intervals=24 team_for_game=CAR _apply_intervals: game 2025020317 df_game_rows=274 _apply_intervals: game 2025020333 rows_in_game=273 parsed_intervals=24 team_for_game=CAR _apply_intervals: game 2025020333 df_game_rows=273 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020368 rows_in_game=308 parsed_intervals=26 team_for_game=CAR _apply_intervals: game 2025020368 df_game_rows=308 _apply_intervals: game 2025020387 rows_in_game=279 parsed_intervals=22 team_for_game=CAR _apply_intervals: game 2025020387 df_game_rows=279 _apply_intervals: game 2025020404 rows_in_game=259 parsed_intervals=26 team_for_game=CAR _apply_intervals: game 2025020404 df_game_rows=259 Filtered season dataframe to 1424 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480817, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [12 1 4 28 54 30 7 10 15 23 22 6 52 3 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480817, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480817, 'team': 'CAR'} /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/CAR/8480817_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7559 _apply_intervals: intervals per_game count=26 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=22 team_for_game=CAR _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020014 rows_in_game=309 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020014 df_game_rows=309 _apply_intervals: game 2025020030 rows_in_game=315 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020030 df_game_rows=315 _apply_intervals: game 2025020055 rows_in_game=285 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020055 df_game_rows=285 _apply_intervals: game 2025020070 rows_in_game=291 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020086 rows_in_game=318 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020097 rows_in_game=264 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020097 df_game_rows=264 _apply_intervals: game 2025020121 rows_in_game=335 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020121 df_game_rows=335 _apply_intervals: game 2025020138 rows_in_game=325 parsed_intervals=24 team_for_game=CAR _apply_intervals: game 2025020138 df_game_rows=325 _apply_intervals: game 2025020155 rows_in_game=299 parsed_intervals=27 team_for_game=CAR _apply_intervals: game 2025020155 df_game_rows=299 _apply_intervals: game 2025020171 rows_in_game=321 parsed_intervals=24 team_for_game=CAR _apply_intervals: game 2025020171 df_game_rows=321 _apply_intervals: game 2025020181 rows_in_game=241 parsed_intervals=26 team_for_game=CAR _apply_intervals: game 2025020181 df_game_rows=241 _apply_intervals: game 2025020206 rows_in_game=268 parsed_intervals=25 team_for_game=CAR _apply_intervals: game 2025020206 df_game_rows=268 _apply_intervals: game 2025020222 rows_in_game=304 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020222 df_game_rows=304 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=25 team_for_game=CAR _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020246 rows_in_game=284 parsed_intervals=23 team_for_game=CAR _apply_intervals: game 2025020246 df_game_rows=284 _apply_intervals: game 2025020259 rows_in_game=296 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020259 df_game_rows=296 _apply_intervals: game 2025020279 rows_in_game=288 parsed_intervals=23 team_for_game=CAR _apply_intervals: game 2025020279 df_game_rows=288 _apply_intervals: game 2025020289 rows_in_game=282 parsed_intervals=22 team_for_game=CAR _apply_intervals: game 2025020289 df_game_rows=282 _apply_intervals: game 2025020301 rows_in_game=309 parsed_intervals=22 team_for_game=CAR _apply_intervals: game 2025020301 df_game_rows=309 _apply_intervals: game 2025020317 rows_in_game=274 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020317 df_game_rows=274 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020368 rows_in_game=308 parsed_intervals=23 team_for_game=CAR _apply_intervals: game 2025020368 df_game_rows=308 _apply_intervals: game 2025020387 rows_in_game=279 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020387 df_game_rows=279 _apply_intervals: game 2025020404 rows_in_game=259 parsed_intervals=23 team_for_game=CAR _apply_intervals: game 2025020404 df_game_rows=259 _apply_intervals: game 2025020431 rows_in_game=272 parsed_intervals=23 team_for_game=CAR _apply_intervals: game 2025020431 df_game_rows=272 Filtered season dataframe to 1835 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482100, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [12 18 1 4 28 54 21 25 2 6 3 30 7 10 15 23 22 52 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482100, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8482100, 'team': 'CAR'} /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/CAR/8482100_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 6961 _apply_intervals: intervals per_game count=24 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020014 rows_in_game=309 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020014 df_game_rows=309 _apply_intervals: game 2025020030 rows_in_game=315 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020030 df_game_rows=315 _apply_intervals: game 2025020055 rows_in_game=285 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020055 df_game_rows=285 _apply_intervals: game 2025020070 rows_in_game=291 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020086 rows_in_game=318 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020097 rows_in_game=264 parsed_intervals=12 team_for_game=CAR _apply_intervals: game 2025020097 df_game_rows=264 _apply_intervals: game 2025020121 rows_in_game=335 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020121 df_game_rows=335 _apply_intervals: game 2025020138 rows_in_game=325 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020138 df_game_rows=325 _apply_intervals: game 2025020155 rows_in_game=299 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020155 df_game_rows=299 _apply_intervals: game 2025020171 rows_in_game=321 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020171 df_game_rows=321 _apply_intervals: game 2025020181 rows_in_game=241 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020181 df_game_rows=241 _apply_intervals: game 2025020206 rows_in_game=268 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020206 df_game_rows=268 _apply_intervals: game 2025020222 rows_in_game=304 parsed_intervals=12 team_for_game=CAR _apply_intervals: game 2025020222 df_game_rows=304 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=23 team_for_game=CAR _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020246 rows_in_game=284 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020246 df_game_rows=284 _apply_intervals: game 2025020259 rows_in_game=296 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020259 df_game_rows=296 _apply_intervals: game 2025020279 rows_in_game=288 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020279 df_game_rows=288 _apply_intervals: game 2025020289 rows_in_game=282 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020289 df_game_rows=282 _apply_intervals: game 2025020301 rows_in_game=309 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020301 df_game_rows=309 _apply_intervals: game 2025020317 rows_in_game=274 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020317 df_game_rows=274 _apply_intervals: game 2025020333 rows_in_game=273 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020333 df_game_rows=273 _apply_intervals: game 2025020404 rows_in_game=259 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020404 df_game_rows=259 _apply_intervals: game 2025020431 rows_in_game=272 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020431 df_game_rows=272 Filtered season dataframe to 1304 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8473533, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [12 18 1 4 28 54 21 25 2 6 3 30 7 10 15 23 22 52 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8473533, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8473533, 'team': 'CAR'} /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/CAR/8473533_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 7832 _apply_intervals: intervals per_game count=27 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020014 rows_in_game=309 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020014 df_game_rows=309 _apply_intervals: game 2025020030 rows_in_game=315 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020030 df_game_rows=315 _apply_intervals: game 2025020055 rows_in_game=285 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020055 df_game_rows=285 _apply_intervals: game 2025020070 rows_in_game=291 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020086 rows_in_game=318 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020097 rows_in_game=264 parsed_intervals=11 team_for_game=CAR _apply_intervals: game 2025020097 df_game_rows=264 _apply_intervals: game 2025020121 rows_in_game=335 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020121 df_game_rows=335 _apply_intervals: game 2025020138 rows_in_game=325 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020138 df_game_rows=325 _apply_intervals: game 2025020155 rows_in_game=299 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020155 df_game_rows=299 _apply_intervals: game 2025020171 rows_in_game=321 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020171 df_game_rows=321 _apply_intervals: game 2025020181 rows_in_game=241 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020181 df_game_rows=241 _apply_intervals: game 2025020206 rows_in_game=268 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020206 df_game_rows=268 _apply_intervals: game 2025020222 rows_in_game=304 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020222 df_game_rows=304 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020246 rows_in_game=284 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020246 df_game_rows=284 _apply_intervals: game 2025020259 rows_in_game=296 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020259 df_game_rows=296 _apply_intervals: game 2025020279 rows_in_game=288 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020279 df_game_rows=288 _apply_intervals: game 2025020289 rows_in_game=282 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020289 df_game_rows=282 _apply_intervals: game 2025020301 rows_in_game=309 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020301 df_game_rows=309 _apply_intervals: game 2025020317 rows_in_game=274 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020317 df_game_rows=274 _apply_intervals: game 2025020333 rows_in_game=273 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020333 df_game_rows=273 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020368 rows_in_game=308 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020368 df_game_rows=308 _apply_intervals: game 2025020387 rows_in_game=279 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020387 df_game_rows=279 _apply_intervals: game 2025020404 rows_in_game=259 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020404 df_game_rows=259 _apply_intervals: game 2025020431 rows_in_game=272 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020431 df_game_rows=272 Filtered season dataframe to 1503 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480830, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [18 12 1 4 28 54 21 25 2 6 3 30 7 10 15 23 22 52 20] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480830, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480830, 'team': 'CAR'} /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/CAR/8480830_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 4210 _apply_intervals: intervals per_game count=14 _apply_intervals: game 2025020014 rows_in_game=309 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020014 df_game_rows=309 _apply_intervals: game 2025020030 rows_in_game=315 parsed_intervals=12 team_for_game=CAR _apply_intervals: game 2025020030 df_game_rows=315 _apply_intervals: game 2025020086 rows_in_game=318 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020121 rows_in_game=335 parsed_intervals=11 team_for_game=CAR _apply_intervals: game 2025020121 df_game_rows=335 _apply_intervals: game 2025020138 rows_in_game=325 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020138 df_game_rows=325 _apply_intervals: game 2025020155 rows_in_game=299 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020155 df_game_rows=299 _apply_intervals: game 2025020171 rows_in_game=321 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020171 df_game_rows=321 _apply_intervals: game 2025020181 rows_in_game=241 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020181 df_game_rows=241 _apply_intervals: game 2025020206 rows_in_game=268 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020206 df_game_rows=268 _apply_intervals: game 2025020222 rows_in_game=304 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020222 df_game_rows=304 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020246 rows_in_game=284 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020246 df_game_rows=284 _apply_intervals: game 2025020259 rows_in_game=296 parsed_intervals=12 team_for_game=CAR _apply_intervals: game 2025020259 df_game_rows=296 _apply_intervals: game 2025020279 rows_in_game=288 parsed_intervals=11 team_for_game=CAR _apply_intervals: game 2025020279 df_game_rows=288 Filtered season dataframe to 635 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480829, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [ 1 12 4 21 25 54 2 6 3 30 7 10 15 23] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480829, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8480829, 'team': 'CAR'} /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/CAR/8480829_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 4544 _apply_intervals: intervals per_game count=16 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=11 team_for_game=CAR _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020055 rows_in_game=285 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020055 df_game_rows=285 _apply_intervals: game 2025020070 rows_in_game=291 parsed_intervals=0 team_for_game=CAR _apply_intervals: game 2025020138 rows_in_game=325 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020138 df_game_rows=325 _apply_intervals: game 2025020171 rows_in_game=321 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020171 df_game_rows=321 _apply_intervals: game 2025020181 rows_in_game=241 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020181 df_game_rows=241 _apply_intervals: game 2025020206 rows_in_game=268 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020206 df_game_rows=268 _apply_intervals: game 2025020222 rows_in_game=304 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020222 df_game_rows=304 _apply_intervals: game 2025020289 rows_in_game=282 parsed_intervals=11 team_for_game=CAR _apply_intervals: game 2025020289 df_game_rows=282 _apply_intervals: game 2025020301 rows_in_game=309 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020301 df_game_rows=309 _apply_intervals: game 2025020317 rows_in_game=274 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020317 df_game_rows=274 _apply_intervals: game 2025020347 rows_in_game=284 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020347 df_game_rows=284 _apply_intervals: game 2025020368 rows_in_game=308 parsed_intervals=20 team_for_game=CAR _apply_intervals: game 2025020368 df_game_rows=308 _apply_intervals: game 2025020387 rows_in_game=279 parsed_intervals=18 team_for_game=CAR _apply_intervals: game 2025020387 df_game_rows=279 _apply_intervals: game 2025020404 rows_in_game=259 parsed_intervals=15 team_for_game=CAR _apply_intervals: game 2025020404 df_game_rows=259 _apply_intervals: game 2025020431 rows_in_game=272 parsed_intervals=13 team_for_game=CAR _apply_intervals: game 2025020431 df_game_rows=272 Filtered season dataframe to 702 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476873, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [12 18 28 25 2 6 3 30 22 7 52 20 10] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476873, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8476873, 'team': 'CAR'} /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/CAR/8476873_map.png xgs_map: using provided DataFrame (in-memory) -> rows= 2587 _apply_intervals: intervals per_game count=9 _apply_intervals: game 2025010091 rows_in_game=242 parsed_intervals=24 team_for_game=CAR _apply_intervals: game 2025010091 df_game_rows=242 _apply_intervals: game 2025020097 rows_in_game=264 parsed_intervals=17 team_for_game=CAR _apply_intervals: game 2025020097 df_game_rows=264 _apply_intervals: game 2025020121 rows_in_game=335 parsed_intervals=16 team_for_game=CAR _apply_intervals: game 2025020121 df_game_rows=335 _apply_intervals: game 2025020138 rows_in_game=325 parsed_intervals=14 team_for_game=CAR _apply_intervals: game 2025020138 df_game_rows=325 _apply_intervals: game 2025020171 rows_in_game=321 parsed_intervals=21 team_for_game=CAR _apply_intervals: game 2025020171 df_game_rows=321 _apply_intervals: game 2025020181 rows_in_game=241 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020181 df_game_rows=241 _apply_intervals: game 2025020206 rows_in_game=268 parsed_intervals=19 team_for_game=CAR _apply_intervals: game 2025020206 df_game_rows=268 _apply_intervals: game 2025020238 rows_in_game=307 parsed_intervals=31 team_for_game=CAR _apply_intervals: game 2025020238 df_game_rows=307 _apply_intervals: game 2025020246 rows_in_game=284 parsed_intervals=9 team_for_game=CAR _apply_intervals: game 2025020246 df_game_rows=284 Filtered season dataframe to 515 events by condition {'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8484428, 'team': 'CAR'} team='CAR' DEBUG: xgs_map df_filtered unique teams: [12 18 54 21 25 2 6 3 7 10] (condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8484428, 'team': 'CAR'}) DEBUG: xgs_map heatmap_mode=team_not_team team_val=CAR condition={'game_state': ['5v5'], 'is_net_empty': [0], 'player_id': 8484428, 'team': 'CAR'} /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)