Lineups: 4-2-3-1 against 4-4-2

The home team has no formation: the best fit is chosen. The visitors attack the other way.

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: Lineup in 4-2-3-1: 11 players. Players: Okafor (Goalkeeper), Silva (Right back), Mbeki (Right centre-back), Rossi (Left centre-back), Ito (Left back), Nakamura (Right defensive midfielder), Costa (Left defensive midfielder), Dubois (Right winger), Haddad (Attacking midfielder), Kowalski (Left winger), Eze (Striker). Captain: Mbeki. Four defenders, two holding midfielders, three behind a lone striker. Lineup in 4-4-2: 3 players. Players: Meyer (Goalkeeper), Moreau (Right striker), Eze (Left striker). Four defenders, four midfielders in a flat line and two strikers.Lineup in 4-2-3-1: 11 playersPlayers: Okafor (Goalkeeper), Silva (Right back), Mbeki (Right centre-back), Rossi (Left centre-back), Ito (Left back), Nakamura (Right defensive midfielder), Costa (Left defensive midfielder), Dubois (Right winger), Haddad (Attacking midfielder), Kowalski (Left winger), Eze (Striker). Captain: Mbeki. Four defenders, two holding midfielders, three behind a lone striker.Goalkeeper: Okafor 1Right back: Silva 2Right centre-back: Mbeki 3Left centre-back: Rossi 4Left back: Ito 5Right defensive midfielder: Nakamura 6Left defensive midfielder: Costa 7Right winger: Dubois 8Attacking midfielder: Haddad 9Left winger: Kowalski 10Striker: Eze 11Captain1Okafor2Silva3MbekiC4Rossi5Ito6Nakamura7Costa8Dubois9Haddad10Kowalski11EzeLineup in 4-4-2: 3 playersPlayers: Meyer (Goalkeeper), Moreau (Right striker), Eze (Left striker). Four defenders, four midfielders in a flat line and two strikers.Goalkeeper: Meyer 1Right backRight centre-backLeft centre-backLeft backRight midfielderRight central midfielderLeft central midfielderLeft midfielderRight striker: Moreau 9Left striker: Eze 101MeyerRBRCBLCBLBRMRCMLCMLM9Moreau10Eze

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 home = ["Okafor", "Silva", "Mbeki", "Rossi", "Ito", "Nakamura", "Costa", "Dubois", "Haddad", "Kowalski", "Eze"];
const codes = ["GK", "RB", "CB", "CB", "LB", "DM", "DM", "RW", "AM", "LW", "ST"];
const players = home.map((name, i) => ({ pos: codes[i], name, number: i + 1, captain: i === 2 }));
const svg = drawKyogijo({
  sport: "soccer",
  layers: [
    { kind: "lineup", side: "home", players },
    { kind: "lineup", side: "away", formation: "4-4-2", shape: "jersey", players: [{ pos: "GK", name: "Meyer", number: 1 }, { pos: "ST", name: "Moreau", number: 9 }, { pos: "ST", name: "Eze", number: 10 }] },
  ],
});

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.