Examples¶
Live interactive demos. Each opens a standalone page rendered in the browser.
Deciding whether wafermap fits? Start with the first two sections: what an engineer gets from a map built with it, most of which needs no code beyond the render call. Building with it? The Building it sections each demonstrate live what the matching Developer Guide section explains: the guide is the narrative, these are the working code.
Just want to open your own files? tsmap is a finished application built on this library, and it runs in your browser with nothing uploaded.
Run these on your own machine. Every example on this page ships in the downloadable examples package — unzip it, start the bundled server, and edit them locally. The library is included, so it works offline with nothing to install.
Some pages cover several related topics; those links point at the relevant section of the page.
Start here¶
- Showcase — four lots, start to finish — four lots, each with a problem in it, and the steps an engineer takes from the headline to the dies behind it: findings, selection across wafers, charts of a selection, Insights and reports — start here if you are deciding whether wafermap fits your problem
- Charting a selection — right-click a cluster, a finding, a bin, a wafer or a chart mark for charts and tables of just those dies, on one wafer or across a lot, with nothing to wire · User guide: Charting dies and wafers
What your users get¶
- Summary panel — persistent metadata and stats sidebar docked beside the map · Guide: Summary panel
- Statistical findings — ring, quadrant, cluster, edge-arc analysis on a single wafer · Guide: Adding statistical findings
- Lot gallery — card grid of multiple wafers with shared controls and stacked modes · Guide: Building a lot gallery
- Lot-level findings — cross-wafer trend detection with
analyzeWaferLot· Guide: Lot-level statistical findings - Lot-stack spatial analysis — mean/median/stddev maps aggregated across a lot · Guide: Recipes
- Chart gallery — every chart and table the library draws, live on one lot, with no charting library to add: the built-in charts on the Insights tabs, one of each chart a plot can be in My plots, and the tables behind them · Guide: The Insights tab
- Plots, tables and attributes — the My plots tab kept by the host with
insights.plotsandonPlotsChange, the Data tab, drilldown, and your own names for wafer attributes withattributes· Guide: Saved plots, the Data tab and attribute names - Filtering wafers and dies — one filter for the gallery, a single map and Insights, kept by the host with
insights.filterandonFilterChange; filters saved by name withsavedFilters, and a hand-writtenwafermap-filtersfile read by Import… · Guide: The filter - Validity limits — tester clamps and open-circuit readings kept out of the map and statistics with
validLow/validHighandvalueFilter, with the excluded values counted · Guide: Validity limits - Derived tests and sweeps — tests computed per die from an expression, and an ordered run of tests read as a response curve with its crossing point and separation measured · API: DerivedTestDef
- Parametric sweeps — five characterisation sweeps in their own Insights tab — temperature inversion, DIBL on a log scale via derived tests, data retention, output drive, and a resistance distribution whose thresholds are read from the test names onto a log axis — each read as a pair of curves with the crossing and width measured · Guide: Derived tests and sweeps
- Reticle overlays — photolithography field grid and reticle-position findings · Guide: Reticle overlays
- Multi-project wafers — compact layout for sparse reticles, with original coordinates, axis labels and layout diagnostics · Guide: Compact layout for multi-project wafers
- Multi-site parallel testing — site-based analysis across a multi-site prober card
- Real wafer data (WM-811K) — open dataset with 811 000 wafer records · Guide: Adding statistical findings
- Mixed patterns (MixedWM38) — classified failure pattern dataset · Pattern Detection
Building it: data in¶
- Your first wafer map — minimal two-call example, no CSV · Guide: Your first wafer map
- Loading CSV data — parse and map real columnar data · Guide: Loading real data from a CSV
- Geometry inference — omit die size and let the library infer it · Guide: Adding die size and wafer geometry
- Partial data and centre anchoring — anchoring the wafer centre for partial coverage, and why sparse data doesn't need it · Guide: Adding die size and wafer geometry
- Warnings the library surfaces — the built-in ⚠ indicator, warning severity, and the
onWarningopt-out for hosts with their own notification UI · Guide: Adding die size and wafer geometry - Bins and yield — named hard bins, pass/fail colours, yield label · Guide: Working with bins
- Test values — parametric measurements, spec limits, colorbar · Guide: Working with test values
- Bin colours across a full program — a four-wafer lot with 15 hard bins and 32 soft bins — how every bin keeps its colour, two pass grades, and what happens when soft bins outnumber the palette · Guide: How bin colours are assigned
- Retests — multi-touch probe sequences and retest policy · Guide: Retests and enriching dies after build
- Metadata / layout mode — generic categorical colouring from
die.metadata, coexists with test/bin data · Guide: Metadata / layout plot mode
Building it: display, interaction and scale¶
- Display control — rotation, flip, plot mode, colour scheme · Guide: Controlling the display
- Custom colour schemes — register your own bin palette with
registerBinColorSchemeand value gradient withregisterValueColorScheme· Guide: Custom colour schemes - Theming — theme the chrome and canvas with
--wmap-*custom properties (light, dark, Nord, Solarized, brand green) · Guide: Controlling the display - Interaction API — hover, click, box-select, controller methods · Guide: Responding to user interaction
- Web Worker — off-main-thread build for large datasets · Guide: Processing large datasets with a Web Worker
- wafermap vs Plotly.js — side-by-side render timings and feature comparison · Performance
Quick Start — live — the minimal inline-generated example linked from the Quick Start page