Published
Edited
Jul 26, 2021
2 forks
Insert cell
md `# Cases by States`
Insert cell
url = "https://raw.githubusercontent.com/MoH-Malaysia/covid19-public/main/epidemic/cases_state.csv"
Insert cell
casebyState = await d3.csv(url)
Insert cell
dateParser = d3.timeParse("%Y-%m-%d")
Insert cell
startDate = dateParser(casebyState[0].date)
Insert cell
endDate = dateParser(casebyState[7919].date)
Insert cell
stateList = _.uniqBy(casebyState, d => d.state)
.map(d => d.state)
Insert cell
casebyState2 = casebyState.map( d => (
{
date: dateParser(d.date),
state: d.state,
cases_new: d.cases_new
}
)
)
.filter(d => d.state == filterState )
Insert cell
casebyState3 = casebyState.map( d => (
{
date: dateParser(d.date),
state: d.state,
cases_new: d.cases_new
}
)
)
.filter(d => d.state == filterState2 )
Insert cell
import {rangeSlider} from "@bumbeishvili/utils"
Insert cell
md `## Choose the 2 state below`
Insert cell
viewof filterState = Inputs.select(["Selangor"].concat(stateList), {label: "State 1 (red)"})
Insert cell
viewof filterState2 = Inputs.select(["W.P. Kuala Lumpur"].concat(stateList), {label: "State 2 (blue)"})
Insert cell
Insert cell
Insert cell
md `## Choose timeframes below`
Insert cell
viewof mergeData2 = rangeSlider(casebyState2, d=>d.date)
Insert cell
viewof mergeData3 = rangeSlider(casebyState3, d=>d.date)
Insert cell
mergeData2
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