viewof view2 = vl
.data(filteredData)
.title(`COVID-19 in ${selectedState} by county (with at least 20 reported cases)`)
.facet({ "field": "county", type: 'nominal', title: 'County' })
.spec({
width: 80,
height: 80,
"encoding": {
"x": { "field": "date", "type": "temporal", title: 'Time' },
"y": {"field": "value", "type": "quantitative", title: 'Count'},
"color": { "field": "type", "scale": { range: ['#1abc9c', '#e74c3c']}, title: 'Type' },
},
layer: [{
"mark": {type: "line", tooltip: { content: 'data' }},
},{
"mark": {
type: "text", align: 'left', "dx": 8, dy: -6, fontSize: 12, fontWeight: 'bold',
},
"transform": [{"filter": `datum.rawTime == ${timeRange[1]} && datum.type === 'cases'`}],
"encoding": {
"text": {"field": "value", "type": "quantitative"},
}
}, {
"mark": {
type: "text", align: 'left', "dx": 8, dy: 6
},
"transform": [{"filter": `datum.rawTime == ${timeRange[1]} && datum.type === 'deaths'`}],
"encoding": {
"text": {"field": "value", "type": "quantitative", format: ',d'},
}
}, {
"mark": {type: "circle", size: 18},
"transform": [{"filter": `datum.rawTime == ${timeRange[1]} && datum.type !== 'new'`}],
}]
},
)
.toJSON()