Zones: positional play

Soccer pitchDrawn as: a soccer pitch, 105 by 68 metres, with the halfway line, the centre circle, both penalty areas, goal areas, penalty marks and arcs, the corner arcs and the goals. Data: Zone chart of 220 touches. Share of all, % in 30 zones, from 1.8% to 6.4%. Highest: Centre, band 4 (6.4%), Centre, band 2 (5.5%), Centre, band 6 (5.5%).Zone chart of 220 touchesShare of all, % in 30 zones, from 1.8% to 6.4%. Highest: Centre, band 4 (6.4%), Centre, band 2 (5.5%), Centre, band 6 (5.5%).Left wing, band 1: 2.3% (5)Left half-space, band 1: 2.3% (5)Centre, band 1: 3.6% (8)Right half-space, band 1: 1.8% (4)Right wing, band 1: 2.3% (5)Left wing, band 2: 2.7% (6)Left half-space, band 2: 2.3% (5)Centre, band 2: 5.5% (12)Right half-space, band 2: 3.6% (8)Right wing, band 2: 4.1% (9)Left wing, band 3: 4.5% (10)Left half-space, band 3: 2.7% (6)Centre, band 3: 4.5% (10)Right half-space, band 3: 2.7% (6)Right wing, band 3: 2.7% (6)Left wing, band 4: 2.7% (6)Left half-space, band 4: 2.3% (5)Centre, band 4: 6.4% (14)Right half-space, band 4: 3.2% (7)Right wing, band 4: 3.6% (8)Left wing, band 5: 3.6% (8)Left half-space, band 5: 3.6% (8)Centre, band 5: 4.1% (9)Right half-space, band 5: 2.3% (5)Right wing, band 5: 3.6% (8)Left wing, band 6: 2.7% (6)Left half-space, band 6: 2.7% (6)Centre, band 6: 5.5% (12)Right half-space, band 6: 2.7% (6)Right wing, band 6: 3.2% (7)Legend: Share of all, %Share of all, %2%3%4%5%6%

The picture above was drawn when the docs were built. The script below draws it again with the published package.

import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";

const touches = Array.from({ length: 220 }, (_, i) => ({ x: 6 + ((i * 41) % 93), y: 4 + ((i * 29) % 92) }));
const svg = drawKyogijo({ sport: "soccer", layers: [{ kind: "zones", name: "touches", zones: "soccer-positional", from: "opta", data: touches, statistic: "percent", legend: true }] });

This page imports the package from jsDelivr (major version 0), which serves only versions that have been published to npm. A feature added after the last release is not in it: the page then keeps the picture above and says why. The docs were built from version 0.6.1.