Waveform Generators Demo
Generate test data for chart development and automated testing. Select a waveform type and adjust parameters to see the generated data.
2 Hz
10%
Points1,000
Min0.0000
Max0.0000
GeneratorgenerateSineWave()
Available Generators
| Generator | Description |
|---|---|
| Sine Wave | Classic sinusoidal waveform |
| Square Wave | Digital-style on/off signal |
| Triangle Wave | Linear ramp up and down |
| Sawtooth Wave | Ramp up with sharp reset |
| CV (Cyclic Voltammogram) | Electrochemical scan data |
| Nyquist (EIS) | Impedance spectroscopy plot |
Usage
typescript
import {
generateSineWave,
generateSquareWave,
generateTriangleWave,
generateSawtoothWave,
generateCVData,
generateNyquistData,
} from 'scichart-engine';
// Basic waveforms
const sine = generateSineWave({
pointCount: 1000,
frequency: 2, // Hz
amplitude: 1, // Peak value
noise: 0.1, // 10% noise
xStart: 0,
xEnd: 10,
});
// Cyclic Voltammetry
const cv = generateCVData({
pointCount: 500,
vMin: -0.5, // Start potential (V)
vMax: 0.5, // End potential (V)
cycles: 2, // Number of cycles
peakCurrent: 10e-6, // Peak current (A)
noise: 0.02,
});
// EIS Nyquist plot
const nyquist = generateNyquistData({
pointCount: 50,
rSolution: 100, // Solution resistance (Ω)
rCharge: 1000, // Charge transfer resistance (Ω)
});Benchmarking
Use the testing utilities for performance benchmarking:
typescript
import { benchmarkRender, assertPerformance } from 'scichart-engine';
// Measure render performance
const result = await benchmarkRender(chart, {
iterations: 100,
warmupIterations: 10,
});
console.log(`FPS: ${result.fps}`);
console.log(`Avg frame time: ${result.averageMs}ms`);
// Assert minimum performance
assertPerformance(result, {
minFps: 30,
maxFrameTime: 33,
});Snapshot Testing
typescript
import { createSnapshot, compareSnapshots } from 'scichart-engine';
// Create a snapshot of chart state
const snapshot = createSnapshot(chart);
// Later, compare to detect changes
const comparison = compareSnapshots(snapshot, createSnapshot(chart));
if (!comparison.equal) {
console.log('Changes detected:', comparison.differences);
}See Testing Utilities for complete documentation.