Perspective › Examples
Webcam — Max Headroom
Y Line chart of New Column 2, grouped by x, split by y, filtered to x < 0, with 3 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": "Y Line",
"plugin_config": {},
"title": "Max Headroom",
"group_by": [
"x"
],
"split_by": [
"y"
],
"columns": [
"New Column 2"
],
"filter": [
[
"x",
"<",
0
]
],
"sort": [],
"expressions": {
"x": "-\"index\" % 80",
"y": "floor(\"index\" / 80)",
"New Column 2": "-floor(\"index\" / 80) * 20 - \"color\""
},
"aggregates": {
"New Column 2": "avg"
}
}
},
"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