print pearsonr(team_report['shotrate_diff'], team_report['team_efg_diff']) # Add labels, etc axleft.set_xlabel('Change in Shot Rate (shots/min), proportional') axleft.set_ylabel('Change in eFG %') fig.suptitle('What Drives Team-Level Shooting Changes') # second plot: # efg_e5 vs efg_diff axright = fig.add_subplot(1,2,2) axright.plot(team_report['team_efg_e5'], team_report['team_efg_diff'], '.') # add regression overlay tfo_extra.add_reg_to_axis(team_report['team_efg_e5'], team_report['team_efg_diff'], axright) r_val, p_val = pearsonr(team_report['team_efg_e5'], team_report['team_efg_diff']) axright.text(0.55, 0.1, 'r = '+ "{:.2f}".format(round(r_val, 2))) # add labels, titles, etc # Changeto: percentage point axright.set_xlabel('Baseline eFG %') axright.set_ylabel('Change in eFG %') # Set y-axis limits equal to each other, for comparison. matching_ylims = [-0.20, 0.15] axright.set_ylim(matching_ylims) axleft.set_ylim(matching_ylims) plt.show()
fig = plt.figure(15) fig.clf() axleft = fig.add_subplot(1,2,1) # Calculate control group shot rate, for epoch 2 filter_epoch2 = bigdf['epoch'] == 2 team_efg_e2 = bigdf[filter_epoch2].groupby('Tm')["points"].sum()*0.5/bigdf[filter_epoch2].groupby('Tm')["points"].count() team_efg_e2 = team_efg_e2.sort_index() # first plot: shotrate_diff vs efg_diff axleft.plot(team_report['shotrate_diff'], team_report['team_efg_diff'], '.') # add regression overlay # overlay bc r is somewhat low (marginal) tfo_extra.add_reg_to_axis(team_report['shotrate_diff'], team_report['team_efg_diff'], axleft) print pearsonr(team_report['shotrate_diff'], team_report['team_efg_diff']) # Add labels, etc axleft.set_xlabel('Change in Shot Rate, proportional') axleft.set_ylabel('Change in eFG %') fig.suptitle('What Drives Team-Level Shooting Changes', fontsize = 14) # Add in r value annotation for left side r_left, p_left = pearsonr(team_report['shotrate_diff'], team_report['team_efg_diff']) axleft.text(0.80, 0.12, 'r = '+ "{:.2f}".format(round(r_left, 2))) # second plot: # efg_e5 vs efg_diff