Published
Edited
Aug 14, 2021
1 fork
Importers
2 stars
Insert cell
md `# Compare Two States with Total`
Insert cell
Insert cell
md `### Choose slider timeframe and two states (red,blue) below, green is daily total`
Insert cell
viewof mergeAllDateFilter = rangeSlider(mergeAll, d=>d.date)
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
url = "https://raw.githubusercontent.com/MoH-Malaysia/covid19-public/main/epidemic/cases_state.csv"
Insert cell
casebyState = await d3.csv(url)
Insert cell
url1 = "https://raw.githubusercontent.com/MoH-Malaysia/covid19-public/main/epidemic/cases_malaysia.csv"
Insert cell
newCase = await d3.csv(url1)
Insert cell
newCase2 = newCase.map( d => (
{
date: dateParser(d.date),
totalCases: d.cases_new
}
)
)
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
md `### casebyState2 is filtered by 1st filter`
Insert cell
casebyState2 = casebyState.map( d => (
{
date: dateParser(d.date),
state1: d.state,
case1: d.cases_new
}
)
)
.filter(d => d.state1 == filterState )
Insert cell
md `### casebyState3 is filtered by 2nd filter`
Insert cell
casebyState3 = casebyState.map( d => (
{
date: dateParser(d.date),
state2: d.state,
case2: d.cases_new
}
)
)
.filter(d => d.state2 == filterState2 )
Insert cell
md `### mergedAll is merged all data plus daily cases ( newCase2 ) into a new array`
Insert cell
mergeAll = _.merge(casebyState2, casebyState3, newCase2 )
Insert cell
import {rangeSlider} from "@bumbeishvili/utils"
Insert cell
md `## Choose timeframes below`
Insert cell
md `### Data in table format`
Insert cell
Inputs.table(mergeAllDateFilter.data)
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