Component

Beeswarm

Jittered strip / beeswarm chart for comparing a subject against a cohort on a single metric. Dots pack deterministically along the cross-axis; highlighted values stay anchored to their true position and can carry direct or callout labels. Cursor tooltip reveals each dot's identity. Hero fixture: Bukayo Saka's npxG-per-match arc 2020-21 → 2024-25 against the 170-ish-deep Premier League cohort of players with ≥20 shots.

00.20.40.60.81Jamie Vardy — 0.69Michail Antonio — 0.68Harry Kane — 0.61Alexandre Lacazette — 0.61Callum Wilson — 0.60Patrick Bamford — 0.55Mohamed Salah — 0.52Dominic Calvert Lewin — 0.51Mbaye Diagne — 0.51Sadio Mane — 0.47Chris Wood — 0.47Pierre Emerick Aubameyang — 0.47Bruno Fernandes — 0.46Josh Maja — 0.46Edinson Cavani — 0.45Anwar El Ghazi — 0.45Ollie Watkins — 0.43Neal Maupay — 0.43Tammy Abraham — 0.42Kelechi Iheanacho — 0.41Raheem Sterling — 0.40Diogo Jota — 0.39Anthony Martial — 0.39Gareth Bale — 0.39Ilkay Gundogan — 0.39Kevin De Bruyne — 0.39Olivier Giroud — 0.39Gabriel Jesus — 0.38Kai Havertz — 0.37Danny Welbeck — 0.37Roberto Firmino — 0.37Timo Werner — 0.35Christian Benteke — 0.35Gabriel Martinelli — 0.33Aaron Connolly — 0.33Jesse Lingard — 0.33Danny Ings — 0.33Che Adams — 0.33Richarlison — 0.33Ferran Torres — 0.33Matej Vydra — 0.32Wilfried Zaha — 0.31Matheus Pereira — 0.31Son Heung Min — 0.30Ivan Cavaleiro — 0.30Raul Jimenez — 0.30Tomas Soucek — 0.30Oliver Mcburnie — 0.30Christian Pulisic — 0.29Harvey Barnes — 0.28Aleksandar Mitrovic — 0.28Joseph Willock — 0.27Pascal Gross — 0.27Marcus Rashford — 0.27Gylfi Sigurdsson — 0.27Trezeguet — 0.27Phil Foden — 0.27Jarrod Bowen — 0.26Fabio Silva — 0.26Sebastien Haller — 0.26Joelinton — 0.26Ashley Barnes — 0.26Nicolas Pepe — 0.25Jack Grealish — 0.25Mason Greenwood — 0.24Rodrigo — 0.24Ayoze Perez — 0.24Bertrand Traore — 0.23Pablo Fornals — 0.23David Mcgoldrick — 0.23Raphinha — 0.22Ademola Lookman — 0.22Takumi Minamino — 0.21Jack Harrison — 0.21James Ward Prowse — 0.21Mason Mount — 0.21Marcos Alonso — 0.21Riyad Mahrez — 0.21Declan Rice — 0.20Pedro Neto — 0.20Leander Dendoncker — 0.20Callum Robinson — 0.19Romain Saiss — 0.19Bobby De Cordova Reid — 0.19Ruben Loftus Cheek — 0.19James Tarkowski — 0.18Ruben Neves — 0.18Matt Phillips — 0.18Ross Barkley — 0.17Bernardo Silva — 0.17Ben Chilwell — 0.16Daniel Podence — 0.16Jay Rodriguez — 0.16Leandro Trossard — 0.16Stuart Dallas — 0.16James Rodriguez — 0.16Allan Saint Maximin — 0.15Youri Tielemans — 0.15Oliver Burke — 0.15Paul Pogba — 0.15Said Benrahma — 0.15Miguel Almiron — 0.15Adam Lallana — 0.14Ezri Konsa — 0.14Ben Mee — 0.14James Maddison — 0.14Scott Mctominay — 0.14Theo Walcott — 0.14Andros Townsend — 0.14Tyrone Mings — 0.14Nathan Redmond — 0.14Alexis Mac Allister — 0.14Mateusz Klich — 0.14Willian — 0.14Solly March — 0.14Kurt Zouma — 0.13Eberechi Eze — 0.13John Lundstram — 0.13Jordan Ayew — 0.12Georginio Wijnaldum — 0.12Tyler Roberts — 0.12Adam Webster — 0.12Jonjo Shelvey — 0.12Rodri — 0.12Rhian Brewster — 0.11Hakim Ziyech — 0.11Darnell Furlong — 0.11Fred — 0.11Trent Alexander Arnold — 0.10John Mcginn — 0.10Ezgjan Alioski — 0.10Conor Gallagher — 0.10Harry Maguire — 0.10Thiago — 0.09Jacob Murphy — 0.09Lewis Dunk — 0.09Stuart Armstrong — 0.09Luke Ayling — 0.09Jannik Vestergaard — 0.09Josh Brownhill — 0.09Thomas Partey — 0.09Sergio Reguilon — 0.09Callum Hudson Odoi — 0.09Adama Traore — 0.09Joao Cancelo — 0.09Marc Albrighton — 0.08Ashley Westwood — 0.08Reece James — 0.08Erik Lamela — 0.08Andre Frank Zambo Anguissa — 0.08Douglas Luiz — 0.08Nelson Semedo — 0.07Mateo Kovacic — 0.07Granit Xhaka — 0.07Yves Bissouma — 0.06Matthew Lowton — 0.06Dwight Mcneil — 0.06Bukayo Saka — 0.25Bukayo Saka20-2162 shotsMohamed Salah — 0.68Cristiano Ronaldo — 0.63Raheem Sterling — 0.62Jamie Vardy — 0.60Diogo Jota — 0.54Harry Kane — 0.52Son Heung Min — 0.51Sadio Mane — 0.51Pierre Emerick Aubameyang — 0.49Alexandre Lacazette — 0.47Dominic Calvert Lewin — 0.47Ilkay Gundogan — 0.45Gabriel Jesus — 0.45Callum Wilson — 0.44Phil Foden — 0.42Riyad Mahrez — 0.42Jean Philippe Mateta — 0.41Joshua King — 0.41Odsonne Edouard — 0.40Teemu Pukki — 0.39Jarrod Bowen — 0.38Adama Traore — 0.38Christian Pulisic — 0.38Kai Havertz — 0.38Timo Werner — 0.38Michail Antonio — 0.38Gabriel Martinelli — 0.37Ivan Toney — 0.37Ollie Watkins — 0.37Romelu Lukaku — 0.37Roberto Firmino — 0.36Eddie Nketiah — 0.36Fabinho — 0.35Richarlison — 0.34Raphinha — 0.34Danny Welbeck — 0.34Neal Maupay — 0.33Patrick Bamford — 0.33Christian Benteke — 0.33Luis Diaz — 0.32Patson Daka — 0.32Wilfried Zaha — 0.31Danny Ings — 0.31Bruno Fernandes — 0.30Bruno Guimaraes — 0.30Mohamed Elyounoussi — 0.30Maxwel Cornet — 0.30Mason Mount — 0.29Che Adams — 0.29Daniel James — 0.29Bryan Mbeumo — 0.28Armando Broja — 0.28Chris Wood — 0.28Wout Weghorst — 0.28Christian Norgaard — 0.27James Maddison — 0.27Joe Gelhardt — 0.27Ademola Lookman — 0.27Conor Gallagher — 0.27Jack Grealish — 0.27Bernardo Silva — 0.27Mason Greenwood — 0.27Ismaila Sarr — 0.26Aymeric Laporte — 0.26Dejan Kulusevski — 0.25Emile Smith Rowe — 0.25Emmanuel Dennis — 0.25Adam Armstrong — 0.24Marcus Rashford — 0.24Sergio Reguilon — 0.23Nicolas Pepe — 0.23Alexis Mac Allister — 0.23Hwang Hee Chan — 0.23Trincao — 0.23Jadon Sancho — 0.23Philippe Coutinho — 0.22Raul Jimenez — 0.22Anthony Elanga — 0.22Harvey Barnes — 0.22Kevin De Bruyne — 0.21Pontus Jansson — 0.21Tomas Soucek — 0.21Leandro Trossard — 0.21Jacob Ramsey — 0.20Pablo Fornals — 0.20Jay Rodriguez — 0.20Martin Odegaard — 0.20Joseph Willock — 0.20James Ward Prowse — 0.20Tyler Roberts — 0.20Reece James — 0.20Ben Mee — 0.20Rodrigo — 0.19Kelechi Iheanacho — 0.19Youri Tielemans — 0.19Joao Pedro — 0.19Andros Townsend — 0.19Yoane Wissa — 0.19Hakim Ziyech — 0.18Moussa Sissoko — 0.18Jeffrey Schlupp — 0.18Said Benrahma — 0.18Paul Pogba — 0.18Sergi Canos — 0.17Jack Harrison — 0.17Nuno Tavares — 0.17Ryan Fraser — 0.17Craig Dawson — 0.17Pascal Gross — 0.16Allan Saint Maximin — 0.16Jakub Moder — 0.16James Tarkowski — 0.16Mateusz Klich — 0.16Salomon Rondon — 0.16Joel Matip — 0.15Alexander Iwobi — 0.15Joshua Sargent — 0.15Marcos Alonso — 0.15Anthony Gordon — 0.15Joelinton — 0.15Naby Keita — 0.15Jan Bednarek — 0.15Demarai Gray — 0.15Stuart Armstrong — 0.15Emiliano Buendia — 0.15Gabriel Magalhaes — 0.15Grant Hanley — 0.14Leander Dendoncker — 0.14Tyrone Mings — 0.14Cucho Hernandez — 0.14Jordan Ayew — 0.14Thiago — 0.14Juraj Kucka — 0.14Daniel Podence — 0.14Lucas Moura — 0.13Mohammed Salisu — 0.13Douglas Luiz — 0.13Christian Eriksen — 0.13Thomas Partey — 0.13Nathan Redmond — 0.13Alex Oxlade Chamberlain — 0.12Vitaly Janelt — 0.12Jacob Murphy — 0.12Matthew Cash — 0.12Joao Cancelo — 0.12Milot Rashica — 0.11Stuart Dallas — 0.11Leon Bailey — 0.11Mateo Kovacic — 0.10Curtis Jones — 0.10Miguel Almiron — 0.10Antonio Rudiger — 0.10Harry Maguire — 0.10Abdoulaye Doucoure — 0.10Trent Alexander Arnold — 0.10Pierre Emile Hojbjerg — 0.10Kenny Mclean — 0.10Kiernan Dewsbury Hall — 0.09Rodri — 0.09Pierre Lees Melou — 0.09Solly March — 0.09Virgil Van Dijk — 0.09Fabian Schar — 0.08Granit Xhaka — 0.08Dwight Mcneil — 0.08Jordan Henderson — 0.08Kyle Walker Peters — 0.08Josh Brownhill — 0.08Oriol Romeu — 0.07Shane Duffy — 0.07Scott Mctominay — 0.07Joao Moutinho — 0.07Michael Keane — 0.07Declan Rice — 0.06Mathias Normann — 0.06Yves Bissouma — 0.06John Mcginn — 0.06Jonjo Shelvey — 0.06Ruben Neves — 0.05Albert Sambi Lokonga — 0.05Bukayo Saka — 0.30Bukayo Saka21-2297 shotsErling Haaland — 0.85Callum Wilson — 0.72Aleksandar Mitrovic — 0.65Gabriel Jesus — 0.58Mohamed Salah — 0.57Ivan Toney — 0.57Harry Kane — 0.56Ollie Watkins — 0.55Diogo Jota — 0.49Marcus Rashford — 0.49Eddie Nketiah — 0.49Darwin Nunez — 0.47Anthony Martial — 0.44Dominic Calvert Lewin — 0.43Jamie Vardy — 0.42Kelechi Iheanacho — 0.41Danny Ings — 0.40Alexander Isak — 0.40Kai Havertz — 0.39Taiwo Awoniyi — 0.39Alexis Mac Allister — 0.38Patrick Bamford — 0.37Raheem Sterling — 0.36Julian Alvarez — 0.36Deniz Undav — 0.35Joao Felix — 0.34Luis Sinisterra — 0.34Kaoru Mitoma — 0.34Neal Maupay — 0.34Cody Gakpo — 0.34Evan Ferguson — 0.33Roberto Firmino — 0.33Kieffer Moore — 0.33Che Adams — 0.33Danny Welbeck — 0.33Joelinton — 0.32Son Heung Min — 0.32James Maddison — 0.31Rodrigo — 0.31Ilkay Gundogan — 0.31Carlos Vinicius — 0.30Phil Foden — 0.30Dominic Solanke — 0.30Jadon Sancho — 0.30Michail Antonio — 0.30Harvey Barnes — 0.30Anthony Gordon — 0.30Brennan Johnson — 0.30Pablo Sarabia — 0.30Gabriel Martinelli — 0.29Miguel Almiron — 0.28Wilfried Zaha — 0.28Bruno Fernandes — 0.28Jarrod Bowen — 0.28Raul Jimenez — 0.28Bryan Mbeumo — 0.28Riyad Mahrez — 0.28Martin Odegaard — 0.28Antony — 0.28James Ward Prowse — 0.28Jacob Ramsey — 0.27Joe Willock — 0.27Yoane Wissa — 0.26Leandro Trossard — 0.25Andreas Pereira — 0.25Eberechi Eze — 0.24Emiliano Buendia — 0.24Dango Ouattara — 0.24Christian Eriksen — 0.23Said Benrahma — 0.23Solly March — 0.23Julio Enciso — 0.23Morgan Gibbs White — 0.23Diego Costa — 0.23Kevin De Bruyne — 0.23Sean Longstaff — 0.22Jack Grealish — 0.22Demarai Gray — 0.22Patson Daka — 0.22Pascal Gross — 0.21Gabriel Magalhaes — 0.21Alejandro Garnacho — 0.21Jacob Murphy — 0.21Philip Billing — 0.21Cristiano Ronaldo — 0.21Jean Philippe Mateta — 0.21Richarlison — 0.21Luis Diaz — 0.21Gianluca Scamacca — 0.20Abdoulaye Doucoure — 0.20Tomas Soucek — 0.20Leon Bailey — 0.20Granit Xhaka — 0.20Luke Ayling — 0.20Fabian Schar — 0.19Jeffrey Schlupp — 0.19Bobby De Cordova Reid — 0.19Ruben Neves — 0.19Lucas Paqueta — 0.18Rodri — 0.18Casemiro — 0.18Theo Walcott — 0.18Odsonne Edouard — 0.18Diogo Dalot — 0.18Daniel Podence — 0.18Jack Harrison — 0.17Pedro Porro — 0.17Sven Botman — 0.17Wilfried Gnonto — 0.17Willian — 0.17Ben Mee — 0.17Thomas Partey — 0.17Jordan Ayew — 0.16Mohamed Elyounoussi — 0.16Ryan Yates — 0.16Ryan Christie — 0.16Kiernan Dewsbury Hall — 0.16Marcus Tavernier — 0.16Youri Tielemans — 0.16Bruno Guimaraes — 0.16Virgil Van Dijk — 0.15Pablo Fornals — 0.15Crysencio Summerville — 0.15Ivan Perisic — 0.15Stuart Armstrong — 0.15Dan Burn — 0.14Dwight Mcneil — 0.14Douglas Luiz — 0.14Emmanuel Dennis — 0.14Fred — 0.14Matheus Nunes — 0.14Adam Armstrong — 0.14Harrison Reed — 0.14Matheus Cunha — 0.14Mathias Jensen — 0.13Conor Gallagher — 0.13Brenden Aaronson — 0.13Amadou Onana — 0.13James Tarkowski — 0.13Bernardo Silva — 0.13Carlos Alcaraz — 0.13Kamaldeen Sulemana — 0.13Mason Mount — 0.13Philippe Coutinho — 0.13Marc Roca — 0.12Mateo Kovacic — 0.12Michael Olise — 0.12Joao Palhinha — 0.12Allan Saint Maximin — 0.12John Mcginn — 0.11Dejan Kulusevski — 0.11Jefferson Lerma — 0.11Joachim Andersen — 0.11Jaidon Anthony — 0.11Trent Alexander Arnold — 0.11Mohammed Salisu — 0.11Tom Cairney — 0.11Declan Rice — 0.10Alex Iwobi — 0.10Rico Henry — 0.10Harvey Elliott — 0.09Pierre Emile Hojbjerg — 0.09Jordan Henderson — 0.09Lewis Dunk — 0.09Neco Williams — 0.08Pervis Estupinan — 0.08Oleksandr Zinchenko — 0.08Moises Caicedo — 0.08Romain Perraud — 0.07Enzo Fernandez — 0.07Cheick Oumar Doucoure — 0.06Bukayo Saka — 0.34Bukayo Saka22-2389 shotsErling Haaland — 0.99Alexander Isak — 0.75Mohamed Salah — 0.74Callum Wilson — 0.70Cole Palmer — 0.60Chris Wood — 0.58Nicolas Jackson — 0.56Dominic Solanke — 0.54Ollie Watkins — 0.49Darwin Nunez — 0.48Dominic Calvert Lewin — 0.44Bryan Mbeumo — 0.44Jarrod Bowen — 0.44Oliver Mcburnie — 0.44Taiwo Awoniyi — 0.43Ben Brereton — 0.43Jean Philippe Mateta — 0.43Richarlison — 0.43Carlton Morris — 0.43Kai Havertz — 0.42Cody Gakpo — 0.41Joao Pedro — 0.41Julian Alvarez — 0.41Brennan Johnson — 0.40Rodrigo Muniz — 0.40Abdoulaye Doucoure — 0.40Eberechi Eze — 0.40Arnaut Danjuma — 0.38Ivan Toney — 0.36Luis Diaz — 0.36Sean Longstaff — 0.36Son Heung Min — 0.36Matheus Cunha — 0.36Yoane Wissa — 0.35Enes Unal — 0.35Timo Werner — 0.35Odsonne Edouard — 0.34Beto — 0.34Jay Rodriguez — 0.34Diogo Jota — 0.33Elijah Adebayo — 0.33Leandro Trossard — 0.33Bruno Fernandes — 0.33Michael Olise — 0.33Keane Lewis Potter — 0.32Tomas Soucek — 0.32Michail Antonio — 0.32Phil Foden — 0.32Neal Maupay — 0.31Douglas Luiz — 0.31Rasmus Hojlund — 0.30Hwang Hee Chan — 0.30Cameron Archer — 0.30Anthony Gordon — 0.29Raheem Sterling — 0.29Alejandro Garnacho — 0.29Gabriel Jesus — 0.29Danny Welbeck — 0.28Marcus Rashford — 0.28Mykhailo Mudryk — 0.27Evan Ferguson — 0.27Raul Jimenez — 0.27Scott Mctominay — 0.27James Maddison — 0.26Lyle Foster — 0.26Pascal Gross — 0.26Moussa Diaby — 0.26Harvey Barnes — 0.25Ansu Fati — 0.25Alex Iwobi — 0.25Gabriel Magalhaes — 0.25Miguel Almiron — 0.24Bobby De Cordova Reid — 0.24Willian — 0.24Enzo Fernandez — 0.24Martin Odegaard — 0.24Lucas Paqueta — 0.24Justin Kluivert — 0.24James Ward Prowse — 0.24Pablo Sarabia — 0.24Leon Bailey — 0.23Anthony Elanga — 0.23Eddie Nketiah — 0.23Jack Grealish — 0.23Matty Cash — 0.23Cristian Romero — 0.22John Mcginn — 0.22Chiedozie Ogbene — 0.22Luis Sinisterra — 0.21Gabriel Martinelli — 0.21Casemiro — 0.21Morgan Gibbs White — 0.21Jacob Brown — 0.21Zeki Amdouni — 0.21James Mcatee — 0.21Pape Matar Sarr — 0.20Mohammed Kudus — 0.20Dan Burn — 0.20Jacob Bruun Larsen — 0.20Jack Harrison — 0.20Simon Adingra — 0.20Bernardo Silva — 0.20Kaoru Mitoma — 0.19Rayan Ait Nouri — 0.19Pedro Neto — 0.19Nathan Ake — 0.19Marcus Tavernier — 0.18Antony — 0.18Andreas Pereira — 0.17Dejan Kulusevski — 0.17Bruno Guimaraes — 0.17Harry Maguire — 0.17Jordan Ayew — 0.17Mario Lemina — 0.17Jhon Duran — 0.17Nicolo Zaniolo — 0.17Ryan Yates — 0.17Frank Onyeka — 0.17Antoine Semenyo — 0.17Josko Gvardiol — 0.17Luca Koleosho — 0.16Christian Norgaard — 0.16Lewis Dunk — 0.16Rodri — 0.16Jacob Murphy — 0.16Noni Madueke — 0.16Alexis Mac Allister — 0.16Callum Hudson Odoi — 0.16Philip Billing — 0.16Kevin De Bruyne — 0.15Dango Ouattara — 0.15Conor Gallagher — 0.15William Osula — 0.15Facundo Buonanotte — 0.14Harry Wilson — 0.14Ross Barkley — 0.14Trent Alexander Arnold — 0.14Danilo — 0.14Joao Palhinha — 0.14Julio Enciso — 0.14James Tarkowski — 0.14Dwight Mcneil — 0.13Jefferson Lerma — 0.13Ruben Dias — 0.13Andros Townsend — 0.12Jayden Bogle — 0.12Ryan Gravenberch — 0.12James Garner — 0.12Sander Berge — 0.12Jeremy Doku — 0.12Tahith Chong — 0.12Wilson Odobert — 0.12Dominik Szoboszlai — 0.12Vitinho — 0.12Declan Rice — 0.12Amadou Onana — 0.12Virgil Van Dijk — 0.12Vitaly Janelt — 0.11Emerson — 0.11Ryan Christie — 0.11Josh Brownhill — 0.10Harvey Elliott — 0.10Joachim Andersen — 0.10Pedro Porro — 0.10Vitalii Mykolenko — 0.10Fabian Schar — 0.10Yves Bissouma — 0.10Mateo Kovacic — 0.10Joao Gomes — 0.10Gustavo Hamer — 0.09Nicolas Dominguez — 0.09Idrissa Gueye — 0.09Carlos Baleba — 0.08Alfie Doughty — 0.08Diogo Dalot — 0.07Lucas Digne — 0.06Billy Gilmour — 0.05Dara Oshea — 0.05Pierre Emile Hojbjerg — 0.04Bukayo Saka — 0.52Bukayo Saka23-24107 shotsErling Haaland — 0.76Mohamed Salah — 0.69Alexander Isak — 0.63Yoane Wissa — 0.60Marco Asensio — 0.56Ollie Watkins — 0.52Kai Havertz — 0.50Dominic Solanke — 0.48Cole Palmer — 0.47Jamie Vardy — 0.47Ismaila Sarr — 0.46Brennan Johnson — 0.46Chris Wood — 0.45Evanilson — 0.43Diogo Jota — 0.41Jean Philippe Mateta — 0.41Nicolas Jackson — 0.40Luis Diaz — 0.40Beto — 0.40Darwin Nunez — 0.39Raul Jimenez — 0.39Danny Welbeck — 0.38Noni Madueke — 0.38Dango Ouattara — 0.38Bryan Mbeumo — 0.38Joao Pedro — 0.37Omar Marmoush — 0.36Jorgen Strand Larsen — 0.36Kaoru Mitoma — 0.35Marcus Rashford — 0.34Gabriel Jesus — 0.34Jhon Duran — 0.34Sam Szmodics — 0.34Justin Kluivert — 0.34Eberechi Eze — 0.33Marshall Munetsi — 0.33Anthony Gordon — 0.33Dominic Calvert Lewin — 0.32Liam Delap — 0.32Iliman Ndiaye — 0.31Cameron Archer — 0.31Rodrigo Muniz — 0.31Bruno Fernandes — 0.31Mathys Tel — 0.30Gabriel Martinelli — 0.30Mason Mount — 0.30Christopher Nkunku — 0.29Kevin Schade — 0.29Rasmus Hojlund — 0.28Eddie Nketiah — 0.28Mikel Merino — 0.28Harvey Barnes — 0.28Paul Onuachu — 0.28Antoine Semenyo — 0.27Cody Gakpo — 0.27Adam Armstrong — 0.27Joshua Zirkzee — 0.27Jarrod Bowen — 0.26Dominik Szoboszlai — 0.26Son Heung Min — 0.26Morgan Rogers — 0.26Harry Wilson — 0.26Jacob Murphy — 0.26Matheus Cunha — 0.25Phil Foden — 0.25Leandro Trossard — 0.25James Maddison — 0.25Savinho — 0.25Joao Felix — 0.24Mohammed Kudus — 0.24Facundo Buonanotte — 0.23Marcus Tavernier — 0.23Kevin De Bruyne — 0.23Morgan Gibbs White — 0.23Emile Smith Rowe — 0.23Tomas Soucek — 0.22Enzo Fernandez — 0.22Georginio Rutter — 0.22Alejandro Garnacho — 0.22Amad Diallo — 0.22Bernardo Silva — 0.21Daniel Munoz — 0.21Nikola Milenkovic — 0.21Matt Oriley — 0.21Ilkay Gundogan — 0.20Abdoulaye Doucoure — 0.20Josko Gvardiol — 0.20Yankuba Minteh — 0.20Jack Harrison — 0.20Martin Odegaard — 0.20Anthony Elanga — 0.19Andreas Pereira — 0.19Lucas Paqueta — 0.19Curtis Jones — 0.19Dejan Kulusevski — 0.19Goncalo Guedes — 0.18Maxence Lacroix — 0.18David Brooks — 0.18Gabriel Magalhaes — 0.18Carlos Alcaraz — 0.18Mateus Fernandes — 0.18Wilfred Ndidi — 0.17Christian Norgaard — 0.17Pape Sarr — 0.17Joelinton — 0.17Jordan Ayew — 0.17Bruno Guimaraes — 0.17Sandro Tonali — 0.17John Mcginn — 0.17Tyler Dibling — 0.16Marc Cucurella — 0.16Adama Traore — 0.16Fabian Schar — 0.16Youri Tielemans — 0.16Simon Adingra — 0.15Carlos Baleba — 0.15Keane Lewis Potter — 0.14Jota Silva — 0.14Virgil Van Dijk — 0.14Stephy Mavididi — 0.14Joao Gomes — 0.14Alex Iwobi — 0.14Alexis Mac Allister — 0.14Julio Enciso — 0.14Ryan Yates — 0.13Pedro Neto — 0.13Declan Rice — 0.13Diogo Dalot — 0.13Sepp Van Den Berg — 0.13Jesper Lindstrom — 0.13Omari Hutchinson — 0.13Yasin Ayari — 0.13Mikkel Damsgaard — 0.12Ruben Dias — 0.12Carlos Soler — 0.12Malo Gusto — 0.12Rodrigo Bentancur — 0.12Thomas Partey — 0.12Taylor Harwood Bellis — 0.12Jadon Sancho — 0.11Rayan Ait Nouri — 0.11Leon Bailey — 0.11Neco Williams — 0.11Callum Hudson Odoi — 0.11Casemiro — 0.10Elliot Anderson — 0.10Kamaldeen Sulemana — 0.10Ryan Christie — 0.10Ethan Nwaneri — 0.10Dan Burn — 0.10James Justin — 0.09Nicolas Dominguez — 0.09Jeremy Doku — 0.09Daichi Kamada — 0.09Mateo Kovacic — 0.09Jean Ricner Bellegarde — 0.09Dwight Mcneil — 0.09Trent Alexander Arnold — 0.08Kenny Tete — 0.08Pedro Porro — 0.08Manuel Ugarte — 0.08Joachim Andersen — 0.08Dara Oshea — 0.08Pervis Estupinan — 0.07Murillo — 0.07Kyle Walker Peters — 0.07Ryan Gravenberch — 0.07Bilal El Khannouss — 0.06Idrissa Gueye — 0.06Will Hughes — 0.06Jefferson Lerma — 0.06Moises Caicedo — 0.05Bukayo Saka — 0.30Bukayo Saka24-2567 shotsnpxG / matchPremier League
Stories

Canonical behaviors.

Horizontal Quantile

Thresholded colouring + median reference line. Matches the Data'Scout aesthetic.

00.20.40.60.81median 0.20Erling Haaland — 0.76Mohamed Salah — 0.69Alexander Isak — 0.63Yoane Wissa — 0.60Marco Asensio — 0.56Ollie Watkins — 0.52Kai Havertz — 0.50Dominic Solanke — 0.48Cole Palmer — 0.47Jamie Vardy — 0.47Ismaila Sarr — 0.46Brennan Johnson — 0.46Chris Wood — 0.45Evanilson — 0.43Diogo Jota — 0.41Jean Philippe Mateta — 0.41Nicolas Jackson — 0.40Luis Diaz — 0.40Beto — 0.40Darwin Nunez — 0.39Raul Jimenez — 0.39Danny Welbeck — 0.38Noni Madueke — 0.38Dango Ouattara — 0.38Bryan Mbeumo — 0.38Joao Pedro — 0.37Omar Marmoush — 0.36Jorgen Strand Larsen — 0.36Kaoru Mitoma — 0.35Marcus Rashford — 0.34Gabriel Jesus — 0.34Jhon Duran — 0.34Sam Szmodics — 0.34Justin Kluivert — 0.34Eberechi Eze — 0.33Marshall Munetsi — 0.33Anthony Gordon — 0.33Dominic Calvert Lewin — 0.32Liam Delap — 0.32Iliman Ndiaye — 0.31Cameron Archer — 0.31Rodrigo Muniz — 0.31Bruno Fernandes — 0.31Mathys Tel — 0.30Gabriel Martinelli — 0.30Mason Mount — 0.30Christopher Nkunku — 0.29Kevin Schade — 0.29Rasmus Hojlund — 0.28Eddie Nketiah — 0.28Mikel Merino — 0.28Harvey Barnes — 0.28Paul Onuachu — 0.28Antoine Semenyo — 0.27Cody Gakpo — 0.27Adam Armstrong — 0.27Joshua Zirkzee — 0.27Jarrod Bowen — 0.26Dominik Szoboszlai — 0.26Son Heung Min — 0.26Morgan Rogers — 0.26Harry Wilson — 0.26Jacob Murphy — 0.26Matheus Cunha — 0.25Phil Foden — 0.25Leandro Trossard — 0.25James Maddison — 0.25Savinho — 0.25Joao Felix — 0.24Mohammed Kudus — 0.24Facundo Buonanotte — 0.23Marcus Tavernier — 0.23Kevin De Bruyne — 0.23Morgan Gibbs White — 0.23Emile Smith Rowe — 0.23Tomas Soucek — 0.22Enzo Fernandez — 0.22Georginio Rutter — 0.22Alejandro Garnacho — 0.22Amad Diallo — 0.22Bernardo Silva — 0.21Daniel Munoz — 0.21Nikola Milenkovic — 0.21Matt Oriley — 0.21Ilkay Gundogan — 0.20Abdoulaye Doucoure — 0.20Josko Gvardiol — 0.20Yankuba Minteh — 0.20Jack Harrison — 0.20Martin Odegaard — 0.20Anthony Elanga — 0.19Andreas Pereira — 0.19Lucas Paqueta — 0.19Curtis Jones — 0.19Dejan Kulusevski — 0.19Goncalo Guedes — 0.18Maxence Lacroix — 0.18David Brooks — 0.18Gabriel Magalhaes — 0.18Carlos Alcaraz — 0.18Mateus Fernandes — 0.18Wilfred Ndidi — 0.17Christian Norgaard — 0.17Pape Sarr — 0.17Joelinton — 0.17Jordan Ayew — 0.17Bruno Guimaraes — 0.17Sandro Tonali — 0.17John Mcginn — 0.17Tyler Dibling — 0.16Marc Cucurella — 0.16Adama Traore — 0.16Fabian Schar — 0.16Youri Tielemans — 0.16Simon Adingra — 0.15Carlos Baleba — 0.15Keane Lewis Potter — 0.14Jota Silva — 0.14Virgil Van Dijk — 0.14Stephy Mavididi — 0.14Joao Gomes — 0.14Alex Iwobi — 0.14Alexis Mac Allister — 0.14Julio Enciso — 0.14Ryan Yates — 0.13Pedro Neto — 0.13Declan Rice — 0.13Diogo Dalot — 0.13Sepp Van Den Berg — 0.13Jesper Lindstrom — 0.13Omari Hutchinson — 0.13Yasin Ayari — 0.13Mikkel Damsgaard — 0.12Ruben Dias — 0.12Carlos Soler — 0.12Malo Gusto — 0.12Rodrigo Bentancur — 0.12Thomas Partey — 0.12Taylor Harwood Bellis — 0.12Jadon Sancho — 0.11Rayan Ait Nouri — 0.11Leon Bailey — 0.11Neco Williams — 0.11Callum Hudson Odoi — 0.11Casemiro — 0.10Elliot Anderson — 0.10Kamaldeen Sulemana — 0.10Ryan Christie — 0.10Ethan Nwaneri — 0.10Dan Burn — 0.10James Justin — 0.09Nicolas Dominguez — 0.09Jeremy Doku — 0.09Daichi Kamada — 0.09Mateo Kovacic — 0.09Jean Ricner Bellegarde — 0.09Dwight Mcneil — 0.09Trent Alexander Arnold — 0.08Kenny Tete — 0.08Pedro Porro — 0.08Manuel Ugarte — 0.08Joachim Andersen — 0.08Dara Oshea — 0.08Pervis Estupinan — 0.07Murillo — 0.07Kyle Walker Peters — 0.07Ryan Gravenberch — 0.07Bilal El Khannouss — 0.06Idrissa Gueye — 0.06Will Hughes — 0.06Jefferson Lerma — 0.06Moises Caicedo — 0.05Bukayo Saka — 0.301Bukayo Saka24-25npxG / matchbottom 20%top 80%top 50%top 20%
Callout Labels

Multiple highlights in a dense cluster — callouts keep names readable without hiding the underlying distribution.

00.20.40.60.81Erling Haaland — 0.99Alexander Isak — 0.75Mohamed Salah — 0.74Callum Wilson — 0.70Cole Palmer — 0.60Chris Wood — 0.58Nicolas Jackson — 0.56Dominic Solanke — 0.54Ollie Watkins — 0.49Darwin Nunez — 0.48Dominic Calvert Lewin — 0.44Bryan Mbeumo — 0.44Jarrod Bowen — 0.44Oliver Mcburnie — 0.44Taiwo Awoniyi — 0.43Ben Brereton — 0.43Jean Philippe Mateta — 0.43Richarlison — 0.43Carlton Morris — 0.43Cody Gakpo — 0.41Joao Pedro — 0.41Julian Alvarez — 0.41Brennan Johnson — 0.40Rodrigo Muniz — 0.40Abdoulaye Doucoure — 0.40Eberechi Eze — 0.40Arnaut Danjuma — 0.38Ivan Toney — 0.36Luis Diaz — 0.36Sean Longstaff — 0.36Son Heung Min — 0.36Matheus Cunha — 0.36Yoane Wissa — 0.35Enes Unal — 0.35Timo Werner — 0.35Odsonne Edouard — 0.34Beto — 0.34Jay Rodriguez — 0.34Diogo Jota — 0.33Elijah Adebayo — 0.33Bruno Fernandes — 0.33Michael Olise — 0.33Keane Lewis Potter — 0.32Tomas Soucek — 0.32Michail Antonio — 0.32Phil Foden — 0.32Neal Maupay — 0.31Douglas Luiz — 0.31Rasmus Hojlund — 0.30Hwang Hee Chan — 0.30Cameron Archer — 0.30Anthony Gordon — 0.29Raheem Sterling — 0.29Alejandro Garnacho — 0.29Danny Welbeck — 0.28Marcus Rashford — 0.28Mykhailo Mudryk — 0.27Evan Ferguson — 0.27Raul Jimenez — 0.27Scott Mctominay — 0.27James Maddison — 0.26Lyle Foster — 0.26Pascal Gross — 0.26Moussa Diaby — 0.26Harvey Barnes — 0.25Ansu Fati — 0.25Alex Iwobi — 0.25Gabriel Magalhaes — 0.25Miguel Almiron — 0.24Bobby De Cordova Reid — 0.24Willian — 0.24Enzo Fernandez — 0.24Martin Odegaard — 0.24Lucas Paqueta — 0.24Justin Kluivert — 0.24James Ward Prowse — 0.24Pablo Sarabia — 0.24Leon Bailey — 0.23Anthony Elanga — 0.23Jack Grealish — 0.23Matty Cash — 0.23Cristian Romero — 0.22John Mcginn — 0.22Chiedozie Ogbene — 0.22Luis Sinisterra — 0.21Casemiro — 0.21Morgan Gibbs White — 0.21Jacob Brown — 0.21Zeki Amdouni — 0.21James Mcatee — 0.21Pape Matar Sarr — 0.20Mohammed Kudus — 0.20Dan Burn — 0.20Jacob Bruun Larsen — 0.20Jack Harrison — 0.20Simon Adingra — 0.20Bernardo Silva — 0.20Kaoru Mitoma — 0.19Rayan Ait Nouri — 0.19Pedro Neto — 0.19Nathan Ake — 0.19Marcus Tavernier — 0.18Antony — 0.18Andreas Pereira — 0.17Dejan Kulusevski — 0.17Bruno Guimaraes — 0.17Harry Maguire — 0.17Jordan Ayew — 0.17Mario Lemina — 0.17Jhon Duran — 0.17Nicolo Zaniolo — 0.17Ryan Yates — 0.17Frank Onyeka — 0.17Antoine Semenyo — 0.17Josko Gvardiol — 0.17Luca Koleosho — 0.16Christian Norgaard — 0.16Lewis Dunk — 0.16Rodri — 0.16Jacob Murphy — 0.16Noni Madueke — 0.16Alexis Mac Allister — 0.16Callum Hudson Odoi — 0.16Philip Billing — 0.16Kevin De Bruyne — 0.15Dango Ouattara — 0.15Conor Gallagher — 0.15William Osula — 0.15Facundo Buonanotte — 0.14Harry Wilson — 0.14Ross Barkley — 0.14Trent Alexander Arnold — 0.14Danilo — 0.14Joao Palhinha — 0.14Julio Enciso — 0.14James Tarkowski — 0.14Dwight Mcneil — 0.13Jefferson Lerma — 0.13Ruben Dias — 0.13Andros Townsend — 0.12Jayden Bogle — 0.12Ryan Gravenberch — 0.12James Garner — 0.12Sander Berge — 0.12Jeremy Doku — 0.12Tahith Chong — 0.12Wilson Odobert — 0.12Dominik Szoboszlai — 0.12Vitinho — 0.12Declan Rice — 0.12Amadou Onana — 0.12Virgil Van Dijk — 0.12Vitaly Janelt — 0.11Emerson — 0.11Ryan Christie — 0.11Josh Brownhill — 0.10Harvey Elliott — 0.10Joachim Andersen — 0.10Pedro Porro — 0.10Vitalii Mykolenko — 0.10Fabian Schar — 0.10Yves Bissouma — 0.10Mateo Kovacic — 0.10Joao Gomes — 0.10Gustavo Hamer — 0.09Nicolas Dominguez — 0.09Idrissa Gueye — 0.09Carlos Baleba — 0.08Alfie Doughty — 0.08Diogo Dalot — 0.07Lucas Digne — 0.06Billy Gilmour — 0.05Dara Oshea — 0.05Pierre Emile Hojbjerg — 0.04Bukayo Saka — Bukayo SakaBukayo SakaKai Havertz — Kai HavertzKai HavertzLeandro Trossard — Leandro TrossardLeandro TrossardGabriel Jesus — Gabriel JesusGabriel JesusEddie Nketiah — Eddie NketiahEddie NketiahGabriel Martinelli — Gabriel MartinelliGabriel Martinelli23-24 PLnpxG / match
Size-by-Field

Dot radius encodes a secondary metric (here: shot volume). Uses a sqrt scale so area is perceptually proportional.

00.20.40.60.81Erling Haaland — 0.99Alexander Isak — 0.75Mohamed Salah — 0.74Callum Wilson — 0.70Cole Palmer — 0.60Chris Wood — 0.58Nicolas Jackson — 0.56Dominic Solanke — 0.54Bukayo Saka — 0.52Ollie Watkins — 0.49Darwin Nunez — 0.48Dominic Calvert Lewin — 0.44Bryan Mbeumo — 0.44Jarrod Bowen — 0.44Oliver Mcburnie — 0.44Taiwo Awoniyi — 0.43Ben Brereton — 0.43Jean Philippe Mateta — 0.43Richarlison — 0.43Carlton Morris — 0.43Kai Havertz — 0.42Cody Gakpo — 0.41Joao Pedro — 0.41Julian Alvarez — 0.41Brennan Johnson — 0.40Rodrigo Muniz — 0.40Abdoulaye Doucoure — 0.40Eberechi Eze — 0.40Arnaut Danjuma — 0.38Ivan Toney — 0.36Luis Diaz — 0.36Sean Longstaff — 0.36Son Heung Min — 0.36Matheus Cunha — 0.36Yoane Wissa — 0.35Enes Unal — 0.35Timo Werner — 0.35Odsonne Edouard — 0.34Beto — 0.34Jay Rodriguez — 0.34Diogo Jota — 0.33Elijah Adebayo — 0.33Leandro Trossard — 0.33Bruno Fernandes — 0.33Michael Olise — 0.33Keane Lewis Potter — 0.32Tomas Soucek — 0.32Michail Antonio — 0.32Phil Foden — 0.32Neal Maupay — 0.31Douglas Luiz — 0.31Rasmus Hojlund — 0.30Hwang Hee Chan — 0.30Cameron Archer — 0.30Anthony Gordon — 0.29Raheem Sterling — 0.29Alejandro Garnacho — 0.29Gabriel Jesus — 0.29Danny Welbeck — 0.28Marcus Rashford — 0.28Mykhailo Mudryk — 0.27Evan Ferguson — 0.27Raul Jimenez — 0.27Scott Mctominay — 0.27James Maddison — 0.26Lyle Foster — 0.26Pascal Gross — 0.26Moussa Diaby — 0.26Harvey Barnes — 0.25Ansu Fati — 0.25Alex Iwobi — 0.25Gabriel Magalhaes — 0.25Miguel Almiron — 0.24Bobby De Cordova Reid — 0.24Willian — 0.24Enzo Fernandez — 0.24Martin Odegaard — 0.24Lucas Paqueta — 0.24Justin Kluivert — 0.24James Ward Prowse — 0.24Pablo Sarabia — 0.24Leon Bailey — 0.23Anthony Elanga — 0.23Eddie Nketiah — 0.23Jack Grealish — 0.23Matty Cash — 0.23Cristian Romero — 0.22John Mcginn — 0.22Chiedozie Ogbene — 0.22Luis Sinisterra — 0.21Gabriel Martinelli — 0.21Casemiro — 0.21Morgan Gibbs White — 0.21Jacob Brown — 0.21Zeki Amdouni — 0.21James Mcatee — 0.21Pape Matar Sarr — 0.20Mohammed Kudus — 0.20Dan Burn — 0.20Jacob Bruun Larsen — 0.20Jack Harrison — 0.20Simon Adingra — 0.20Bernardo Silva — 0.20Kaoru Mitoma — 0.19Rayan Ait Nouri — 0.19Pedro Neto — 0.19Nathan Ake — 0.19Marcus Tavernier — 0.18Antony — 0.18Andreas Pereira — 0.17Dejan Kulusevski — 0.17Bruno Guimaraes — 0.17Harry Maguire — 0.17Jordan Ayew — 0.17Mario Lemina — 0.17Jhon Duran — 0.17Nicolo Zaniolo — 0.17Ryan Yates — 0.17Frank Onyeka — 0.17Antoine Semenyo — 0.17Josko Gvardiol — 0.17Luca Koleosho — 0.16Christian Norgaard — 0.16Lewis Dunk — 0.16Rodri — 0.16Jacob Murphy — 0.16Noni Madueke — 0.16Alexis Mac Allister — 0.16Callum Hudson Odoi — 0.16Philip Billing — 0.16Kevin De Bruyne — 0.15Dango Ouattara — 0.15Conor Gallagher — 0.15William Osula — 0.15Facundo Buonanotte — 0.14Harry Wilson — 0.14Ross Barkley — 0.14Trent Alexander Arnold — 0.14Danilo — 0.14Joao Palhinha — 0.14Julio Enciso — 0.14James Tarkowski — 0.14Dwight Mcneil — 0.13Jefferson Lerma — 0.13Ruben Dias — 0.13Andros Townsend — 0.12Jayden Bogle — 0.12Ryan Gravenberch — 0.12James Garner — 0.12Sander Berge — 0.12Jeremy Doku — 0.12Tahith Chong — 0.12Wilson Odobert — 0.12Dominik Szoboszlai — 0.12Vitinho — 0.12Declan Rice — 0.12Amadou Onana — 0.12Virgil Van Dijk — 0.12Vitaly Janelt — 0.11Emerson — 0.11Ryan Christie — 0.11Josh Brownhill — 0.10Harvey Elliott — 0.10Joachim Andersen — 0.10Pedro Porro — 0.10Vitalii Mykolenko — 0.10Fabian Schar — 0.10Yves Bissouma — 0.10Mateo Kovacic — 0.10Joao Gomes — 0.10Gustavo Hamer — 0.09Nicolas Dominguez — 0.09Idrissa Gueye — 0.09Carlos Baleba — 0.08Alfie Doughty — 0.08Diogo Dalot — 0.07Lucas Digne — 0.06Billy Gilmour — 0.05Dara Oshea — 0.05Pierre Emile Hojbjerg — 0.0423-24npxG / match2080140
Large-N Fallback

When a cohort gets too dense for labels, shrink dot radius and padding first, then drop labels entirely before reaching for a different chart.

00.20.40.60.81Erling Haaland — 0.85Callum Wilson — 0.72Aleksandar Mitrovic — 0.65Gabriel Jesus — 0.58Mohamed Salah — 0.57Ivan Toney — 0.57Harry Kane — 0.56Ollie Watkins — 0.55Diogo Jota — 0.49Marcus Rashford — 0.49Eddie Nketiah — 0.49Darwin Nunez — 0.47Anthony Martial — 0.44Dominic Calvert Lewin — 0.43Jamie Vardy — 0.42Kelechi Iheanacho — 0.41Danny Ings — 0.40Alexander Isak — 0.40Kai Havertz — 0.39Taiwo Awoniyi — 0.39Alexis Mac Allister — 0.38Patrick Bamford — 0.37Raheem Sterling — 0.36Julian Alvarez — 0.36Deniz Undav — 0.35Joao Felix — 0.34Bukayo Saka — 0.34Luis Sinisterra — 0.34Kaoru Mitoma — 0.34Neal Maupay — 0.34Cody Gakpo — 0.34Evan Ferguson — 0.33Roberto Firmino — 0.33Kieffer Moore — 0.33Che Adams — 0.33Danny Welbeck — 0.33Joelinton — 0.32Son Heung Min — 0.32James Maddison — 0.31Rodrigo — 0.31Ilkay Gundogan — 0.31Carlos Vinicius — 0.30Phil Foden — 0.30Dominic Solanke — 0.30Jadon Sancho — 0.30Michail Antonio — 0.30Harvey Barnes — 0.30Anthony Gordon — 0.30Brennan Johnson — 0.30Pablo Sarabia — 0.30Gabriel Martinelli — 0.29Miguel Almiron — 0.28Wilfried Zaha — 0.28Bruno Fernandes — 0.28Jarrod Bowen — 0.28Raul Jimenez — 0.28Bryan Mbeumo — 0.28Riyad Mahrez — 0.28Martin Odegaard — 0.28Antony — 0.28James Ward Prowse — 0.28Jacob Ramsey — 0.27Joe Willock — 0.27Yoane Wissa — 0.26Leandro Trossard — 0.25Andreas Pereira — 0.25Eberechi Eze — 0.24Emiliano Buendia — 0.24Dango Ouattara — 0.24Christian Eriksen — 0.23Said Benrahma — 0.23Solly March — 0.23Julio Enciso — 0.23Morgan Gibbs White — 0.23Diego Costa — 0.23Kevin De Bruyne — 0.23Sean Longstaff — 0.22Jack Grealish — 0.22Demarai Gray — 0.22Patson Daka — 0.22Pascal Gross — 0.21Gabriel Magalhaes — 0.21Alejandro Garnacho — 0.21Jacob Murphy — 0.21Philip Billing — 0.21Cristiano Ronaldo — 0.21Jean Philippe Mateta — 0.21Richarlison — 0.21Luis Diaz — 0.21Gianluca Scamacca — 0.20Abdoulaye Doucoure — 0.20Tomas Soucek — 0.20Leon Bailey — 0.20Granit Xhaka — 0.20Luke Ayling — 0.20Fabian Schar — 0.19Jeffrey Schlupp — 0.19Bobby De Cordova Reid — 0.19Ruben Neves — 0.19Lucas Paqueta — 0.18Rodri — 0.18Casemiro — 0.18Theo Walcott — 0.18Odsonne Edouard — 0.18Diogo Dalot — 0.18Daniel Podence — 0.18Jack Harrison — 0.17Pedro Porro — 0.17Sven Botman — 0.17Wilfried Gnonto — 0.17Willian — 0.17Ben Mee — 0.17Thomas Partey — 0.17Jordan Ayew — 0.16Mohamed Elyounoussi — 0.16Ryan Yates — 0.16Ryan Christie — 0.16Kiernan Dewsbury Hall — 0.16Marcus Tavernier — 0.16Youri Tielemans — 0.16Bruno Guimaraes — 0.16Virgil Van Dijk — 0.15Pablo Fornals — 0.15Crysencio Summerville — 0.15Ivan Perisic — 0.15Stuart Armstrong — 0.15Dan Burn — 0.14Dwight Mcneil — 0.14Douglas Luiz — 0.14Emmanuel Dennis — 0.14Fred — 0.14Matheus Nunes — 0.14Adam Armstrong — 0.14Harrison Reed — 0.14Matheus Cunha — 0.14Mathias Jensen — 0.13Conor Gallagher — 0.13Brenden Aaronson — 0.13Amadou Onana — 0.13James Tarkowski — 0.13Bernardo Silva — 0.13Carlos Alcaraz — 0.13Kamaldeen Sulemana — 0.13Mason Mount — 0.13Philippe Coutinho — 0.13Marc Roca — 0.12Mateo Kovacic — 0.12Michael Olise — 0.12Joao Palhinha — 0.12Allan Saint Maximin — 0.12John Mcginn — 0.11Dejan Kulusevski — 0.11Jefferson Lerma — 0.11Joachim Andersen — 0.11Jaidon Anthony — 0.11Trent Alexander Arnold — 0.11Mohammed Salisu — 0.11Tom Cairney — 0.11Declan Rice — 0.10Alex Iwobi — 0.10Rico Henry — 0.10Harvey Elliott — 0.09Pierre Emile Hojbjerg — 0.09Jordan Henderson — 0.09Lewis Dunk — 0.09Neco Williams — 0.08Pervis Estupinan — 0.08Oleksandr Zinchenko — 0.08Moises Caicedo — 0.08Romain Perraud — 0.07Enzo Fernandez — 0.07Cheick Oumar Doucoure — 0.06Erling Haaland — 0.99Alexander Isak — 0.75Mohamed Salah — 0.74Callum Wilson — 0.70Cole Palmer — 0.60Chris Wood — 0.58Nicolas Jackson — 0.56Dominic Solanke — 0.54Bukayo Saka — 0.52Ollie Watkins — 0.49Darwin Nunez — 0.48Dominic Calvert Lewin — 0.44Bryan Mbeumo — 0.44Jarrod Bowen — 0.44Oliver Mcburnie — 0.44Taiwo Awoniyi — 0.43Ben Brereton — 0.43Jean Philippe Mateta — 0.43Richarlison — 0.43Carlton Morris — 0.43Kai Havertz — 0.42Cody Gakpo — 0.41Joao Pedro — 0.41Julian Alvarez — 0.41Brennan Johnson — 0.40Rodrigo Muniz — 0.40Abdoulaye Doucoure — 0.40Eberechi Eze — 0.40Arnaut Danjuma — 0.38Ivan Toney — 0.36Luis Diaz — 0.36Sean Longstaff — 0.36Son Heung Min — 0.36Matheus Cunha — 0.36Yoane Wissa — 0.35Enes Unal — 0.35Timo Werner — 0.35Odsonne Edouard — 0.34Beto — 0.34Jay Rodriguez — 0.34Diogo Jota — 0.33Elijah Adebayo — 0.33Leandro Trossard — 0.33Bruno Fernandes — 0.33Michael Olise — 0.33Keane Lewis Potter — 0.32Tomas Soucek — 0.32Michail Antonio — 0.32Phil Foden — 0.32Neal Maupay — 0.31Douglas Luiz — 0.31Rasmus Hojlund — 0.30Hwang Hee Chan — 0.30Cameron Archer — 0.30Anthony Gordon — 0.29Raheem Sterling — 0.29Alejandro Garnacho — 0.29Gabriel Jesus — 0.29Danny Welbeck — 0.28Marcus Rashford — 0.28Mykhailo Mudryk — 0.27Evan Ferguson — 0.27Raul Jimenez — 0.27Scott Mctominay — 0.27James Maddison — 0.26Lyle Foster — 0.26Pascal Gross — 0.26Moussa Diaby — 0.26Harvey Barnes — 0.25Ansu Fati — 0.25Alex Iwobi — 0.25Gabriel Magalhaes — 0.25Miguel Almiron — 0.24Bobby De Cordova Reid — 0.24Willian — 0.24Enzo Fernandez — 0.24Martin Odegaard — 0.24Lucas Paqueta — 0.24Justin Kluivert — 0.24James Ward Prowse — 0.24Pablo Sarabia — 0.24Leon Bailey — 0.23Anthony Elanga — 0.23Eddie Nketiah — 0.23Jack Grealish — 0.23Matty Cash — 0.23Cristian Romero — 0.22John Mcginn — 0.22Chiedozie Ogbene — 0.22Luis Sinisterra — 0.21Gabriel Martinelli — 0.21Casemiro — 0.21Morgan Gibbs White — 0.21Jacob Brown — 0.21Zeki Amdouni — 0.21James Mcatee — 0.21Pape Matar Sarr — 0.20Mohammed Kudus — 0.20Dan Burn — 0.20Jacob Bruun Larsen — 0.20Jack Harrison — 0.20Simon Adingra — 0.20Bernardo Silva — 0.20Kaoru Mitoma — 0.19Rayan Ait Nouri — 0.19Pedro Neto — 0.19Nathan Ake — 0.19Marcus Tavernier — 0.18Antony — 0.18Andreas Pereira — 0.17Dejan Kulusevski — 0.17Bruno Guimaraes — 0.17Harry Maguire — 0.17Jordan Ayew — 0.17Mario Lemina — 0.17Jhon Duran — 0.17Nicolo Zaniolo — 0.17Ryan Yates — 0.17Frank Onyeka — 0.17Antoine Semenyo — 0.17Josko Gvardiol — 0.17Luca Koleosho — 0.16Christian Norgaard — 0.16Lewis Dunk — 0.16Rodri — 0.16Jacob Murphy — 0.16Noni Madueke — 0.16Alexis Mac Allister — 0.16Callum Hudson Odoi — 0.16Philip Billing — 0.16Kevin De Bruyne — 0.15Dango Ouattara — 0.15Conor Gallagher — 0.15William Osula — 0.15Facundo Buonanotte — 0.14Harry Wilson — 0.14Ross Barkley — 0.14Trent Alexander Arnold — 0.14Danilo — 0.14Joao Palhinha — 0.14Julio Enciso — 0.14James Tarkowski — 0.14Dwight Mcneil — 0.13Jefferson Lerma — 0.13Ruben Dias — 0.13Andros Townsend — 0.12Jayden Bogle — 0.12Ryan Gravenberch — 0.12James Garner — 0.12Sander Berge — 0.12Jeremy Doku — 0.12Tahith Chong — 0.12Wilson Odobert — 0.12Dominik Szoboszlai — 0.12Vitinho — 0.12Declan Rice — 0.12Amadou Onana — 0.12Virgil Van Dijk — 0.12Vitaly Janelt — 0.11Emerson — 0.11Ryan Christie — 0.11Josh Brownhill — 0.10Harvey Elliott — 0.10Joachim Andersen — 0.10Pedro Porro — 0.10Vitalii Mykolenko — 0.10Fabian Schar — 0.10Yves Bissouma — 0.10Mateo Kovacic — 0.10Joao Gomes — 0.10Gustavo Hamer — 0.09Nicolas Dominguez — 0.09Idrissa Gueye — 0.09Carlos Baleba — 0.08Alfie Doughty — 0.08Diogo Dalot — 0.07Lucas Digne — 0.06Billy Gilmour — 0.05Dara Oshea — 0.05Pierre Emile Hojbjerg — 0.04Erling Haaland — 0.76Mohamed Salah — 0.69Alexander Isak — 0.63Yoane Wissa — 0.60Marco Asensio — 0.56Ollie Watkins — 0.52Kai Havertz — 0.50Dominic Solanke — 0.48Cole Palmer — 0.47Jamie Vardy — 0.47Ismaila Sarr — 0.46Brennan Johnson — 0.46Chris Wood — 0.45Evanilson — 0.43Diogo Jota — 0.41Jean Philippe Mateta — 0.41Nicolas Jackson — 0.40Luis Diaz — 0.40Beto — 0.40Darwin Nunez — 0.39Raul Jimenez — 0.39Danny Welbeck — 0.38Noni Madueke — 0.38Dango Ouattara — 0.38Bryan Mbeumo — 0.38Joao Pedro — 0.37Omar Marmoush — 0.36Jorgen Strand Larsen — 0.36Kaoru Mitoma — 0.35Marcus Rashford — 0.34Gabriel Jesus — 0.34Jhon Duran — 0.34Sam Szmodics — 0.34Justin Kluivert — 0.34Eberechi Eze — 0.33Marshall Munetsi — 0.33Anthony Gordon — 0.33Dominic Calvert Lewin — 0.32Liam Delap — 0.32Iliman Ndiaye — 0.31Cameron Archer — 0.31Rodrigo Muniz — 0.31Bruno Fernandes — 0.31Mathys Tel — 0.30Bukayo Saka — 0.30Gabriel Martinelli — 0.30Mason Mount — 0.30Christopher Nkunku — 0.29Kevin Schade — 0.29Rasmus Hojlund — 0.28Eddie Nketiah — 0.28Mikel Merino — 0.28Harvey Barnes — 0.28Paul Onuachu — 0.28Antoine Semenyo — 0.27Cody Gakpo — 0.27Adam Armstrong — 0.27Joshua Zirkzee — 0.27Jarrod Bowen — 0.26Dominik Szoboszlai — 0.26Son Heung Min — 0.26Morgan Rogers — 0.26Harry Wilson — 0.26Jacob Murphy — 0.26Matheus Cunha — 0.25Phil Foden — 0.25Leandro Trossard — 0.25James Maddison — 0.25Savinho — 0.25Joao Felix — 0.24Mohammed Kudus — 0.24Facundo Buonanotte — 0.23Marcus Tavernier — 0.23Kevin De Bruyne — 0.23Morgan Gibbs White — 0.23Emile Smith Rowe — 0.23Tomas Soucek — 0.22Enzo Fernandez — 0.22Georginio Rutter — 0.22Alejandro Garnacho — 0.22Amad Diallo — 0.22Bernardo Silva — 0.21Daniel Munoz — 0.21Nikola Milenkovic — 0.21Matt Oriley — 0.21Ilkay Gundogan — 0.20Abdoulaye Doucoure — 0.20Josko Gvardiol — 0.20Yankuba Minteh — 0.20Jack Harrison — 0.20Martin Odegaard — 0.20Anthony Elanga — 0.19Andreas Pereira — 0.19Lucas Paqueta — 0.19Curtis Jones — 0.19Dejan Kulusevski — 0.19Goncalo Guedes — 0.18Maxence Lacroix — 0.18David Brooks — 0.18Gabriel Magalhaes — 0.18Carlos Alcaraz — 0.18Mateus Fernandes — 0.18Wilfred Ndidi — 0.17Christian Norgaard — 0.17Pape Sarr — 0.17Joelinton — 0.17Jordan Ayew — 0.17Bruno Guimaraes — 0.17Sandro Tonali — 0.17John Mcginn — 0.17Tyler Dibling — 0.16Marc Cucurella — 0.16Adama Traore — 0.16Fabian Schar — 0.16Youri Tielemans — 0.16Simon Adingra — 0.15Carlos Baleba — 0.15Keane Lewis Potter — 0.14Jota Silva — 0.14Virgil Van Dijk — 0.14Stephy Mavididi — 0.14Joao Gomes — 0.14Alex Iwobi — 0.14Alexis Mac Allister — 0.14Julio Enciso — 0.14Ryan Yates — 0.13Pedro Neto — 0.13Declan Rice — 0.13Diogo Dalot — 0.13Sepp Van Den Berg — 0.13Jesper Lindstrom — 0.13Omari Hutchinson — 0.13Yasin Ayari — 0.13Mikkel Damsgaard — 0.12Ruben Dias — 0.12Carlos Soler — 0.12Malo Gusto — 0.12Rodrigo Bentancur — 0.12Thomas Partey — 0.12Taylor Harwood Bellis — 0.12Jadon Sancho — 0.11Rayan Ait Nouri — 0.11Leon Bailey — 0.11Neco Williams — 0.11Callum Hudson Odoi — 0.11Casemiro — 0.10Elliot Anderson — 0.10Kamaldeen Sulemana — 0.10Ryan Christie — 0.10Ethan Nwaneri — 0.10Dan Burn — 0.10James Justin — 0.09Nicolas Dominguez — 0.09Jeremy Doku — 0.09Daichi Kamada — 0.09Mateo Kovacic — 0.09Jean Ricner Bellegarde — 0.09Dwight Mcneil — 0.09Trent Alexander Arnold — 0.08Kenny Tete — 0.08Pedro Porro — 0.08Manuel Ugarte — 0.08Joachim Andersen — 0.08Dara Oshea — 0.08Pervis Estupinan — 0.07Murillo — 0.07Kyle Walker Peters — 0.07Ryan Gravenberch — 0.07Bilal El Khannouss — 0.06Idrissa Gueye — 0.06Will Hughes — 0.06Jefferson Lerma — 0.06Moises Caicedo — 0.053-season cohortnpxG / match
Empty State

No values, no fake dots.

00.20.40.60.81No dataxG / matchNo players in this cohort
Cross-cutting

Shared concerns.

Choose Beeswarm

Use a Beeswarm when the story is "where does this player sit in the full league distribution on one metric?". Not for multi-dimensional profiles — reach for RadarChart or PizzaChart instead.

Packing

Packing is deterministic: same data in, same positions out. No force simulation means the bundle is byte-stable and the dots never drift between renders. The trade-off is a slightly tighter "bowtie" shape than a force simulation produces.

Highlights vs. Labels

Highlights are for subject dots you want to label or style differently. Cursor tooltips cover the rest — don't try to label every dot.

Accessibility

The SVG carries an aria-label describing the metric and value count. Each dot has a cursor tooltip with its player label and value.

Composition

Beeswarm is compose-safe: pass a custom layout to shrink the viewBox to your grid cell, and background for seamless themes.

Large-N Guidance

Once a single group pushes past roughly 150-200 dots, reduce dotRadius and dotPadding, then drop labels to highlights only or labelStrategy="none". If the value distribution itself matters more than individual subjects, switch to a distribution-style chart instead.

Usage

Best-practice examples.

Minimal usage

A Beeswarm needs at least one group of values and a metric label. Each value is a dot; dots pack deterministically along the cross-axis.

                    import { Beeswarm } from "@withqwerty/campos-react";

export function XGPerMatchSwarm({ players }) {
  return (
    <Beeswarm
      groups={[{ id: "23-24", label: "23-24", values: players }]}
      metric={{ label: "npxG / match" }}
    />
  );
}
                  
Vertical small-multiples with highlights

Multi-group vertical layout sharing a numeric Y axis. Subject dots get labelled; category colouring tags each player's competition.

                    <Beeswarm
  orientation="vertical"
  groups={seasonGroups}
  metric={{ label: "npxG / match", domain: [0, 1] }}
  populationColor={{
    mode: "byCategory",
    colors: { "Premier League": "#b91c1c" },
  }}
  highlightDefaults={{ color: "#f5f3ff", radius: 6 }}
/>
                  
Quantile colouring + reference lines

Assign colours by threshold bands. Reference lines mark the median or any other axis value.

                    <Beeswarm
  groups={[{ id: "pl", label: "24-25", values }]}
  metric={{ label: "npxG / match" }}
  populationColor={{
    mode: "byQuantile",
    bands: [
      { threshold: 0.1, color: "#ef4444", label: "bottom 20%" },
      { threshold: 0.22, color: "#f59e0b" },
      { threshold: 0.4, color: "#84cc16" },
    ],
    aboveColor: "#22c55e",
    aboveLabel: "top 20%",
  }}
  referenceLines={[{ value: 0.2, label: "median" }]}
/>
                  
Callout labels

Use labelStrategy="callout" when many highlights cluster together. A thin line connects the label to the dot.

                    <Beeswarm
  groups={[{ id: "arsenal", label: "23-24 Arsenal", values }]}
  metric={{ label: "npxG / match" }}
  populationColor={{ mode: "uniform", color: "#9ca3af" }}
  labelStrategy="callout"
/>
                  
Size-by-field

Encode a second metric via dot area using a sqrt scale. Good for goals counts, minutes, sample sizes.

                    <Beeswarm
  groups={[{ id: "g", label: "G", values }]}
  metric={{ label: "npxG / match" }}
  sizeField={{ range: [1.5, 6], legendTicks: [20, 80, 140] }}
/>
                  
API

Public surface.

Prop Type Default Description
groups readonly BeeswarmGroupInput[] required One or more named groups that share the numeric scale.
metric BeeswarmMetric required Axis label, optional fixed domain, tick count, and formatter.
orientation "horizontal" | "vertical" "horizontal" Axis orientation. Vertical inverts Y so higher values sit at the top of each column.
populationColor { mode: "uniform" | "byCategory" | "byQuantile"; ... } uniform grey Colour encoding for non-highlighted dots. Category mode keys off value.category; quantile mode thresholds match value.
highlightDefaults { color; radius; stroke; strokeWidth } #f97316 / r=5 / #ffffff / 1 Default appearance for any value whose `highlight` is set. Per-value highlight can override.
labelStrategy "direct" | "callout" | "none" "direct" Where and how highlight labels render. Callout adds a connector line; none hides labels entirely.
sizeField { range; domain?; legendTicks?; legendLabel? } Encode dot radius from value.size using a sqrt scale. Pass legendTicks for a size legend.
referenceLines readonly BeeswarmReferenceLineInput[] One or more lines drawn across all groups at a given axis value.
dotRadius number 2.4 Base radius for population dots in viewBox units.
dotPadding number 0.4 Gap between packed dots during the bin-jitter packing step.
renderTooltip (dot) => ReactNode label + formatted value Override the cursor tooltip content per dot.
layout BeeswarmLayoutInput ViewBox size, group/axis/label/legend sizing overrides when the defaults do not fit your composite.
Use with AI
LLM Prompt
Create a React component using Campos Beeswarm. Import Beeswarm from @withqwerty/campos-react. Start with a single group, one metric, minimal props. Add orientation="vertical" for season-over-season small multiples. Mark subject players with highlight. Only add quantile or size encoding if the use case clearly needs it.