Platform
Resources
Pricing
Sign in
Get started
Max Bo
Software Engineer @ Canva, ex-Google | music, color theory, Australian democracy, situated software & generative art
Workspace
Fork
Public
By
Max Bo
Edited
May 2, 2024
4 stars
2
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
sampleFile
=
FileAttachment
(
"telemetry-NGP-Car_5-Subaru Impreza GC8 555 GrpA-Stage_21-13_04_2024 23_46_41 PM.tsv"
)
Insert cell
sampleData
=
sampleFile
.
tsv
(
{
typed
:
true
}
)
Insert cell
userData
=
userFile
?
userFile
.
tsv
(
{
typed
:
true
}
)
:
undefined
Insert cell
data
=
(
userData
||
sampleData
)
.
map
(
(
d
)
=>
(
{
...
d
,
timestamp
:
new
Date
(
d
.
utcSystemTime
)
}
)
)
Insert cell
Insert cell
Insert cell
settledScrubbedIndex
=
settle
(
viewof
scrubber
)
Insert cell
Insert cell
speedScaleConfig
=
(
{
color
:
{
scheme
:
"Plasma"
,
domain
:
[
0
,
d3
.
max
(
data
,
(
d
)
=>
d
.
speed
)
]
,
label
:
"Speed (km/h)"
}
}
)
Insert cell
speedScale
=
Plot
.
scale
(
speedScaleConfig
)
Insert cell
Insert cell
Insert cell
THROTTLE_BRAKE_SCALE
=
Plot
.
scale
(
THROTTLE_BRAKE_SCALE_CONFIG
)
Insert cell
Insert cell
clutchGearMark
=
Plot
.
text
(
filteredData
,
{
x
:
"timestamp"
,
y
:
(
d
)
=>
0
,
tip
:
true
,
text
:
"gear"
,
fill
:
"black"
,
channels
:
{
clutch
:
"clutch"
,
gear
:
"gear"
}
,
stroke
:
"cyan"
,
filter
:
(
d
)
=>
d
.
clutch
>
0.9
}
)
Insert cell
clutchGearMark2D
=
Plot
.
text
(
filteredData
,
{
x
:
"position.x"
,
y
:
"position.y"
,
text
:
"gear"
,
stroke
:
"cyan"
,
fill
:
"black"
,
tip
:
true
,
opacity
:
0.5
,
filter
:
(
d
)
=>
d
.
clutch
>
0.9
,
channels
:
{
clutch
:
"clutch"
,
gear
:
"gear"
}
}
)
Insert cell
gearVoronoiMark
=
Plot
.
voronoi
(
filteredData
,
{
x
:
"position.x"
,
y
:
"position.y"
,
fill
:
"gear"
,
fillOpacity
:
0.15
}
)
Insert cell
startTipMark
=
Plot
.
tip
(
_
.
take
(
filteredData
.
filter
(
(
d
)
=>
d
.
raceTime
===
0
)
,
1
)
,
{
x
:
"position.x"
,
y
:
"position.y"
,
title
:
(
d
)
=>
"Start"
}
)
Insert cell
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Try it for free
Learn more
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
userFile
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
filteredData
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
scrubber
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
scrubbedDatum
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
showGearVoronois
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
showClutch
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
sampleFile
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
sampleData
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
userData
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
data
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
settledScrubbedIndex
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
speedScaleConfig
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
speedScale
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
GEAR_COLOR
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
THROTTLE_BRAKE_SCALE_CONFIG
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
THROTTLE_BRAKE_SCALE
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
clutchGearMark
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
clutchGearMark2D
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
gearVoronoiMark
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
startTipMark
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML