Public
Edited
Jul 4, 2023
Insert cell
Insert cell
Insert cell
solves = michael.map((puzzle) => {return {time: puzzle.calcs.secondsSpentSolving}})
Insert cell
Plot.plot({
y: {grid: true},
marks: [
Plot.rectY(solves, Plot.binX({y: "count"}, {x: "time"})),
Plot.ruleY([0])
]
})
Insert cell
totalTime = solves.reduce((acc, pz) => acc + pz.time, 0)
Insert cell
avg = totalTime / solves.length
Insert cell
min = solves.reduce((min, pz) => pz.time < min ? pz.time : min, 100000)
Insert cell
max = solves.reduce((min, pz) => pz.time > min ? pz.time : min, 0)
Insert cell
median = solves.sort((a, b) => a.time - b.time)[Math.floor(solves.length / 2)]
Insert cell
autoCheck = michael.map((pz) => pz.autocheckEnabled)
Insert cell
usedCheck = autoCheck.filter((pz) => pz).length
Insert cell
didntuseCheck = autoCheck.filter((pz) => !pz).length
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.
Learn more