This is a basketball court that I implemented using D3.jS. This court has a interactive feature that user can use a slider to choose a specific season's data. The initial version of this visualization is plotting the marks for each shot is using the intuitive green dot and red cross which represent those he made and those he missed. And the data update is following the general update pattern.
After looking at the suggestion from professor, I switch to use contour map for better display. When Kobe shoots a lot in a single seaon, the marks will overlap but the heatmap will not.
User can use the slider to choose a specific season's Kobe Bryant shoting data. Begin with his rookie season 1996-97 and ending with his final season 2015-16. By using the control, the basketball court will automatically update the data represent different season. The heatmap will show where Kobe liked to make his moves.
The contour is referencing Mike Bostock's block Density Contours
The Slider is referencing Andrew Wang's block Chart Slider
The function that I use to draw the arc of the court is referencing virajsanghvi/d3.basketball-shot-chart.
The size of the court is referencing Basketball Court Dimensions & Measurements
https://d3js.org/d3.v4.min.js
https://cdnjs.cloudflare.com/ajax/libs/d3-legend/2.24.0/d3-legend.min.js
https://d3js.org/d3-contour.v1.min.js
https://d3js.org/d3-scale-chromatic.v1.min.js