def zones(**kwargs):
'''
Plots zones on the court as per NBA.com
the plot adds to the last plot used or starts a new figure
'''
ax = plt.gca()
zone1 = Arc((0, 0), 16.0, 16.0,theta1 = -41.0,theta2 = 180.0+41.0,**kwargs)
zone2 = Arc((0, 0), 32.0, 32.0,theta1 = -19.2,theta2 = 180.0+19.2, **kwargs)
ax.add_patch(zone1)
ax.add_patch(zone2)
ang = 60.0
ax.plot([np.cos(ang/180*np.pi)*8, np.cos(ang/180*np.pi)*16],
[np.sin(ang/180*np.pi)*8, np.sin(ang/180*np.pi)*16],**kwargs)
ang = 120.0
ax.plot([np.cos(ang/180*np.pi)*8, np.cos(ang/180*np.pi)*16],
[np.sin(ang/180*np.pi)*8, np.sin(ang/180*np.pi)*16],**kwargs)
ax.plot([22,25],[14-5.25,14-5.25],**kwargs)
ax.plot([-22,-25],[14-5.25,14-5.25],**kwargs)
ang = 36.0
ax.plot([np.cos(ang/180*np.pi)*16, np.cos(ang/180*np.pi)*23.75],
[np.sin(ang/180*np.pi)*16, np.sin(ang/180*np.pi)*23.75],**kwargs)
ang = 72.0
ax.plot([np.cos(ang/180*np.pi)*16, np.cos(ang/180*np.pi)*24],
[np.sin(ang/180*np.pi)*16, np.sin(ang/180*np.pi)*24],**kwargs)
ang = 72.0+36.0
ax.plot([np.cos(ang/180*np.pi)*16, np.cos(ang/180*np.pi)*24],
[np.sin(ang/180*np.pi)*16, np.sin(ang/180*np.pi)*24],**kwargs)
ang = 72.0*2
ax.plot([np.cos(ang/180*np.pi)*16, np.cos(ang/180*np.pi)*23.75],
[np.sin(ang/180*np.pi)*16, np.sin(ang/180*np.pi)*23.75],**kwargs)
ang = 72.0
ax.plot([np.cos(ang/180*np.pi)*24, np.cos(ang/180*np.pi)*41.25],
[np.sin(ang/180*np.pi)*24, 41.25],**kwargs)
ang = 72.0+36.0
ax.plot([np.cos(ang/180*np.pi)*24, np.cos(ang/180*np.pi)*41.25],
[np.sin(ang/180*np.pi)*24, 41.25],**kwargs)
评论列表
文章目录