Wafer Analysis Chart

Creates a React Wafer Analysis Chart using SciChart.js, by leveraging the FastRectangleRenderableSeries, and crossfilter to enable live filtering.

Fullscreen

Edit

 Edit

Docs

index.tsx

theme.ts

measureCharts.ts

scatterPlot.ts

store.ts

styles.css

waferChart.ts

waferData.ts

Copy to clipboard
Minimise
Fullscreen
1import { IThemeProvider, SciChartJsNavyTheme } from "scichart";
2
3export interface AppThemeBase {
4    SciChartJsTheme: IThemeProvider;
5
6    // general colors
7    ForegroundColor: string;
8    Background: string;
9
10    // Series colors
11    VividSkyBlue: string;
12    VividPink: string;
13    VividTeal: string;
14    VividOrange: string;
15    VividBlue: string;
16    VividPurple: string;
17    VividGreen: string;
18    VividRed: string;
19
20    MutedSkyBlue: string;
21    MutedPink: string;
22    MutedTeal: string;
23    MutedOrange: string;
24    MutedBlue: string;
25    MutedPurple: string;
26    MutedRed: string;
27
28    PaleSkyBlue: string;
29    PalePink: string;
30    PaleTeal: string;
31    PaleOrange: string;
32    PaleBlue: string;
33    PalePurple: string;
34}
35
36export class SciChart2022AppTheme implements AppThemeBase {
37    SciChartJsTheme = new SciChartJsNavyTheme();
38
39    // General colors
40    ForegroundColor = "#FFFFFF";
41    Background = this.SciChartJsTheme.sciChartBackground;
42
43    // Series colors
44    VividSkyBlue = "#50C7E0";
45    VividPink = "#EC0F6C";
46    VividTeal = "#30BC9A";
47    VividOrange = "#F48420";
48    VividBlue = "#364BA0";
49    VividPurple = "#882B91";
50    VividGreen = "#67BDAF";
51    VividRed = "#C52E60";
52
53    DarkIndigo = "#14233C";
54    Indigo = "#264B93";
55
56    MutedSkyBlue = "#83D2F5";
57    MutedPink = "#DF69A8";
58    MutedTeal = "#7BCAAB";
59    MutedOrange = "#E7C565";
60    MutedBlue = "#537ABD";
61    MutedPurple = "#A16DAE";
62    MutedRed = "#DC7969";
63
64    PaleSkyBlue = "#E4F5FC";
65    PalePink = "#EEB3D2";
66    PaleTeal = "#B9E0D4";
67    PaleOrange = "#F1CFB5";
68    PaleBlue = "#B5BEDF";
69    PalePurple = "#CFB4D5";
70}
71
72export const appTheme = new SciChart2022AppTheme();
73

Wafer Analysis Dashboard - React

Overview

Dashboard/Interface Layout

The Wafer Analysis dashboard presents a comprehensive semiconductor wafer testing interface organized in a two-panel layout:

Left Panel:

  • Main wafer visualization chart displaying the circular wafer map with individual dies

  • Variable selection dropdown for switching between different measurement variables (DEFECT, MR, HR, MR2, HDI)

  • Legend area showing defect type classifications

Right Panel:

  • Top section: Dual-variable scatter plot comparing MR vs MR2 and HR vs HDI relationships

  • Bottom section: 2x2 grid of histogram charts with nested overview controls for each measurement variable (MR, HR, MR2, HDI)

User Interactions

Wafer Chart Interactions:

  • Drag Selection: Users can drag to select rectangular regions on the wafer, which filters data by row/column position

  • Single Click: Clears any active selection filters

  • Right-Click Zoom/Pan: Navigate around the wafer visualization

  • Mouse Wheel: Zoom in/out on the wafer

  • Variable Selection: Dropdown allows switching color visualization between defect types and numeric variables

Measure Chart Interactions:

  • Zoom/Pan Operations: Each histogram chart supports independent zooming and panning

  • Range Selection: Zooming on any histogram automatically applies range filters to that measurement variable

  • Overview Charts: Miniature overview charts beneath each histogram show the full data range and current zoom level

Scatter Plot Interactions:

  • Standard Navigation: Zoom, pan, and mouse wheel operations

  • Legend: Toggle visibility of MR vs MR2 and HR vs HDI data series

Interactive Features

The dashboard implements a sophisticated cross-filtering workflow where interactions in any chart component immediately update all other visualizations:

  • Wafer Selection → Measurement Filtering: Selecting regions on the wafer filters all histogram and scatter plot data
  • Histogram Zooming → Cross-Filter Updates: Zooming on any measurement histogram applies range filters that update the wafer visualization and scatter plot
  • Variable Switching → Dynamic Recoloring: Changing the color variable dynamically updates the wafer chart's palette provider for real-time visualization changes
  • Bidirectional Filtering: All filters work in combination, allowing users to drill down through multiple dimensions simultaneously

Primary Use Cases

This example demonstrates:

  • Semiconductor Manufacturing Analysis: Visualizing die-level measurements across a wafer surface

  • Multi-Dimensional Data Exploration: Cross-filtering capabilities for analyzing relationships between different measurement variables

  • Defect Pattern Recognition: Color-coded visualization of defect types and measurement ranges

  • Real-time Data Analytics: Live filtering and updating of large datasets using crossfilter technology

Technical Implementation

Architecture Overview

The application leverages SciChart React integration through the SciChartReact component pattern, where each chart is initialized via factory functions and managed through React refs. The architecture separates concerns between:

  • Data Management: useDataStore Zustand store with crossfilter dimensions

  • Chart Factories: Individual createInit* functions for each chart type

  • Communication Layer: React callback patterns and ref-based method invocation

Individual Chart/Component Analysis

Wafer Chart Component

API Surface:

Key Technical Features:

Measure Chart Components

API Surface:

Key Technical Features:

Scatter Plot Component

API Surface:

Key Technical Features:

Component Communication

Cross-Filter Architecture: The communication system centers on crossfilter dimensions and groups managed by useDataStore:

Update Propagation:

Callback Patterns:

Performance Optimizations & Advanced Features

Memory Management:

Data Processing Optimizations:

  • Crossfilter Integration: Leverages crossfilter's optimized filtering and grouping algorithms

  • Selective Filtering: dies.allFiltered([Row, Col]) excludes specific dimensions from wafer data filtering

  • Integer Grouping: Math.floor grouping functions for histogram binning

Rendering Performance:

Advanced Features:

The implementation demonstrates advanced SciChart.js capabilities including custom modifiers, palette providers, and sophisticated data binding patterns optimized for real-time multi-dimensional data analysis.

react Chart Examples & Demos

See Also: Scientific & Medical Charts (10 Demos)

React Vital Signs ECG/EKG Medical Demo | SciChart.js Demo

React Vital Signs ECG/EKG Medical Demo

In this example we are simulating four channels of data showing that SciChart.js can be used to draw real-time ECG/EKG charts and graphs to monitor heart reate, body temperature, blood pressure, pulse rate, SPO2 blood oxygen, volumetric flow and more.

React Chart with Logarithmic Axis Example | SciChart.js

React Chart with Logarithmic Axis Example

Demonstrates Logarithmic Axis on a React Chart using SciChart.js. SciChart supports logarithmic axis with scientific or engineering notation and positive and negative values

LiDAR 3D Point Cloud of Geospatial Data | SciChart.js

LiDAR 3D Point Cloud of Geospatial Data

Demonstrating the capability of SciChart.js to create JavaScript 3D Point Cloud charts and visualize LiDAR data from the UK Defra Survey.

React Chart with Vertically Stacked Axes | SciChart.js

React Chart with Vertically Stacked Axes

Demonstrates Vertically Stacked Axes on a React Chart using SciChart.js, allowing data to overlap

Realtime Audio Spectrum Analyzer Chart | SciChart.js Demo

Realtime Audio Spectrum Analyzer Chart Example

See the frequency of recordings with the React audio spectrum analyzer example from SciChart. This real-time audio visualizer demo uses a Fourier Transform.

Realtime Audio Analyzer Bars Demo | SciChart.js Demo

Realtime Audio Analyzer Bars Demo

Demonstrating the capability of SciChart.js to create a JavaScript Audio Analyzer Bars and visualize the Fourier-Transform of an audio waveform in realtime.

Interactive Waterfall Chart | React Charts | SciChart.js

Interactive Waterfall Spectral Chart

Demonstrates how to create a Waterfall chart in SciChart.js, showing chromotragraphy data with interactive selection of points.

Interactive Phasor Diagram chart | React Charts | SciChart.js

Phasor Diagram Chart Example

See the React Phasor Diagram example to combine a Cartesian surface with a Polar subsurface. Get seamless React integration with SciChart. View demo now.

NEW!
React Correlation Plot | React Charts | SciChart.js Demo

React Correlation Plot

Create React Correlation Plot with high performance SciChart.js. Easily render pre-defined point types. Supports custom shapes. Get your free trial now.

NEW!
React Semiconductors Dashboard | JavaScript Charts | SciChart.js

Semiconductors Dashboard

React **Semiconductors Dashboard** using SciChart.js, by leveraging the **FastRectangleRenderableSeries**, and its `customTextureOptions` property to have a custom tiling texture fill.

SciChart Ltd, 16 Beaufort Court, Admirals Way, Docklands, London, E14 9XL.