Hi all, following on from my last tutorial, I have now created something more football specific using the built-in scatter plot in Power Bi. This tutorial will take you through building a basic shot plot with shots coloured by outcome. The video can be found at the bottom of the page, but I will also take you through a step by step process here as well.
As always, (subscribe here)[https://www.youtube.com/channel/UCJamxO-DE27EEZtWrNG34mA?sub_confirmation=1] for more videos and to Power Performance Through Data.
Steps for creating the visual
The steps for creating this plot are relatively simple:
- Add a pitch image as the background image.
- Add a blank scatter plot to the canvas.
- Add all relevant fields to the visualisation pane.
- Elapsed time used to make sure co-ordinates do not sum together or shots are not missed.
- Location.y is added to the x-axis as the pitch is rotated.
- Location.x is added to the y-axis value.
- Shot.outcome.name is added as a tooltip and to the legend for colour.
- Make sure all co-ordinates approximately match locations on the pitch.
Things you could do differently
I used elapsed time as detail, but you can use any value that will be unique between shots. The main reason for this is that if we used a different value, we might end up with some of our shots not being separated, such as shots by the same player or with the same outcome. Something like an event id, or time, will be unique to the shot so will help to differentiate them.
I created a custom legend, which I will touch on in a future tutorial, but you could just as easily use the built-in legend for the chart. The only difference will be is that you will need to keep make sure all your values are visible in the legend. When there are too many values this can cause problems.
Thngs to remember
The image of the pitch may not be accurate to the co-ordinates of the data you use. Such as the box might be bigger or smaller. So remember this when creating your visuals.
Make sure your colours stand out against your background image. This is important so that your users can see the differences between outcomes easily.
Hope you found this tutorial helpful. If you have any questions please don’t be afraid to reach out below.