Perspective › Examples
Webcam — Downsampled Heatmap Cam
Heatmap chart of color, grouped by x, split by y, with 2 computed expression columns.
Live webcam luminance sampled into a Perspective table at 20fps (falls back to a placeholder image without a camera).

Data
Live webcam frames streamed into a Perspective table one pixel per row, and rendered back as real-time heatmaps, scatter plots and histograms.
Generated continuously in the browser by a JavaScript simulation streaming into a Perspective Table.
Configuration
This example is a saved <perspective-viewer> workspace. Pass this JSON to viewer.restoreWorkspace() to reproduce it over the same table:
{
"layout": {
"type": "tab-layout",
"tabs": [
"p0"
],
"selected": 0
},
"panels": {
"p0": {
"table": "",
"plugin": "Heatmap",
"plugin_config": {},
"settings": true,
"title": "Downsampled Heatmap Cam",
"group_by": [
"x"
],
"split_by": [
"y"
],
"columns": [
"color"
],
"filter": [],
"sort": [],
"expressions": {
"y": "bucket(-floor(\"index\" / 80), 3)",
"x": "bucket(-\"index\" % 80, 3)"
},
"aggregates": {}
}
},
"active": "p0"
}
About Perspective
Perspective is an open-source, WebAssembly-powered data grid, pivot table and charting component for large, real-time and streaming datasets — in the browser, Python, Jupyter, Node.js and Rust.
Documentation