All the Wars of the United States
Wars overlap. A long campaign in one region can continue while shorter conflicts begin elsewhere, making isolated timelines an incomplete picture of U.S. military activity. This view puts the listed conflicts on one calendar, grouped by region and historical period. Follow the lanes, then compare them with the yearly count below.
When conflicts overlap
Four eras of violence
The early conflicts center on sovereignty and survival. The long nineteenth-century middle is dominated by forced expansion across Native lands. Later periods shift toward overseas intervention, regional influence, and finally sustained global military reach.
Concurrency makes continuity visible
The line counts how many listed conflicts were active in each year. Compare it with the lanes above to see which long campaigns overlap the shorter ones.
Years with no listed conflict
Each dot marks a year in which none of the conflicts in this dataset was active. Reading the absences alongside the war lanes makes their scarcity explicit.
Why a custom ordinal layout?
Semiotic owns the frame, responsive rendering, scene graph, accessibility table, and theme. The custom layout supplies the domain-specific geometry: packed interval bars within five ordinal lanes, period bands, a shared time axis, focus targets, and the concurrent-war line.
import { intervalLanesLayout, activeCountOverDomain } from "semiotic/recipes" // The recipe owns the packed sub-tracks, period bands, lane labels, and time // axis. We reserve a bottom strip and compose the concurrency line on top. const warTimelineLayout = (ctx) => { const base = intervalLanesLayout({ ...ctx, config: { laneAccessor: "sphere", startAccessor: "startYear", endAccessor: "endYear", domain: [1770, 2026], lanes: SPHERES, unit: 1, minBarWidth: 5, bottomInset: 82, color: (war, sphere) => COLORS[sphere], }, }) return { nodes: base.nodes, overlays: <>{base.overlays}<ConcurrencyLine /></> } } const countsByYear = activeCountOverDomain(wars, { start: "startYear", end: "endYear", domain: [1770, 2026], }) <OrdinalCustomChart data={wars} layout={warTimelineLayout} categoryAccessor="sphere" valueAccessor="startYear" oExtent={SPHERES} rExtent={[1770, 2026]} projection="horizontal" annotations={periods.map(period => ({ type: "x-band", x0: period.start, x1: period.end, label: period.name }))} width={width} height={650} />Adapted from Elijah Meeks'full war timelineand the earliercategorized timeline. The historical list begins with the source's 2015 snapshot and is extended through July 1, 2026 from official Defense Department, combatant-command, and NATO records. Its categories are a contestable editorial perspective.