The strike zone: the catcher's view

Plate 17 inches across, a zone from the batter's knees to his belt, the nine cells and the four chase zones round them, the pitches numbered in order, coloured by result and shaped by what became of them.

Strike zone: where the pitches crossed the plateThe strike zone seen from the catcher's position: the plate 17 inches wide, the zone from 1.5 to 3.5 feet above the ground. The batter stands on the left. Data: 5 pitches. By outcome: Ball 1, Called strike 1, Swinging strike 1, Foul 1, In play 1. 5 pitch numbers.Zone 11Zone 22Zone 33Zone 44Zone 55Zone 66Zone 77Zone 88Zone 99Zone 11, high and leftZone 12, high and rightZone 13, low and leftZone 14, low and rightR5 pitchesBy outcome: Ball 1, Called strike 1, Swinging strike 1, Foul 1, In play 1.5 pitch numbers12345

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

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

const pitches = [
  { x: 0.1, z: 2.6, outcome: "called-strike", type: "FF" },
  { x: 1.3, z: 1.1, outcome: "ball", type: "SL" },
  { x: -0.4, z: 2.0, outcome: "swinging-strike", type: "SL" },
  { x: 0.9, z: 3.9, outcome: "foul", type: "CH" },
  { x: -0.2, z: 2.4, outcome: "in-play", type: "FF" },
];
const svg = drawStrikeZone(pitches, { bats: "R", top: 3.5, bottom: 1.5 }).svg;

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.