Public
Edited
Aug 29, 2023
3 forks
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
vl.markBar()
.data({
"url": disasters
})
.encode(
vl.y().fieldQ('deaths'),
vl.x().fieldN('Country')
)
.render()
Insert cell
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.sum('deaths').as('Total_Deaths'))
)
.encode(
vl.y().fieldQ('Total_Deaths'),
vl.x().fieldN('Country'),
)
.render()
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.mean('deaths').as('Total_Deaths'))
)
.encode(
vl.y().fieldQ('Total_Deaths'),
vl.x().fieldN('Country'),
)
.render()
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.count('deaths').as('Total_Deaths'))
)
.encode(
vl.y().fieldQ('Total_Deaths'),
vl.x().fieldN('Country'),
)
.render()
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.max('deaths').as('Total_Deaths'))
)
.encode(
vl.y().fieldQ('Total_Deaths'),
vl.x().fieldN('Country'),
)
.render()
Insert cell
Insert cell
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.sum('deaths').as('Total_Deaths'))
)
.encode(
vl.y().fieldQ('Total_Deaths'),
vl.x().fieldN('Country')
.sort(vl.sum('Total_Deaths').order('descending'))
)
.render()
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.sum('deaths').as('Total_Deaths'))
)
.encode(
vl.y().fieldQ('Total_Deaths'),
vl.x().fieldN('Country').sort(vl.sum('Total_Deaths').order('ascending')),
)
.render()
Insert cell
Custom Sort Order
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.sum('deaths').as('Total_Deaths'))
)
.encode(
vl.y().fieldQ('Total_Deaths'),
vl.x().fieldN('Country').sort(["United States", "Africa", "China"]),
)
.render()
Insert cell
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.sum('deaths').as('Total_Deaths'))
)
.encode(
vl.y().fieldQ('Total_Deaths'),
vl.x().fieldN('Country'),
)
.render()
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.sum('deaths').as('Total_Deaths')),
vl.window(vl.rank().as('Rank')),
vl.filter('datum.Rank <= 10')
)
.encode(
vl.y().fieldQ('Total_Deaths'),
vl.x().fieldN('Country')
)
.render()
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.sum('deaths').as('Total_Deaths')),
vl.window(vl.rank().as('Rank')),
vl.filter('datum.Rank <= 10')
)
.encode(
vl.x().fieldQ('Total_Deaths'),
vl.y().fieldN('Country')
)
.render()
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.sum('deaths').as('Total_Deaths')),
vl.window(vl.rank().as('Rank')).sort(vl.sum('Total_Deaths').order('descending')),
vl.filter('datum.Rank <= 10')
)
.encode(
vl.x().fieldQ('Total_Deaths'),
vl.y().fieldN('Country')
)
.render()
Insert cell
Insert cell

vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.sum('deaths').as('Total_Deaths')),
vl.window(vl.rank().as('Rank')).sort(vl.sum('Total_Deaths').order('descending')),
vl.filter('datum.Rank <= 10'),
vl.filter('datum.Country !== "Africa"'),
)
.encode(
vl.x().fieldQ('Total_Deaths'),
vl.y().fieldN('Country').sort(vl.sum('Total_Deaths').order('descending'))
)
.render()

Insert cell
Insert cell
vl.markBar()
.data({
"url": disasters
})
.transform(
vl.groupby('Country')
.aggregate(vl.sum('deaths').as('Total_Deaths')),
vl.window(vl.rank().as('Rank')).sort(vl.field('Total_Deaths').order('descending')),
vl.filter('datum.Rank <= 10'),
vl.filter('datum.Country !== "Africa"'),
)
.encode(
vl.x().fieldQ('Total_Deaths'),
vl.y().fieldN('Country').sort(vl.sum('Total_Deaths').order('descending'))
)
.render()
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
vl.markCircle()
.data({
'url': 'https://raw.githubusercontent.com/lacepadilla/classdata/main/disaster_deaths.csv'
})
.transform(
vl.lookup('Id')
.from(
vl.data({
'url': 'https://raw.githubusercontent.com/lacepadilla/classdata/main/disaster_econ.csv'
})
.key('Id')
.fields('economic_damages')
),
vl.groupby('Year', 'disaster')
.aggregate([
vl.sum('economic_damages').as('Total_Damages'),
vl.sum('deaths').as('Total_Deaths')
])
)
.encode(
vl.x().fieldT('Year'),
vl.y().fieldN('disaster')
.sort(vl.average('Total_Deaths').order('descending')),
vl.size().fieldQ('Total_Deaths'),
vl.tooltip().fieldQ('Total_Damages')
)
.width(600)
.render()
Insert cell
vl.markCircle()
.data({
'url': 'https://raw.githubusercontent.com/lacepadilla/classdata/main/disaster_deaths.csv'
})
.transform(
vl.lookup('Id')
.from(
vl.data({'url': 'https://raw.githubusercontent.com/lacepadilla/classdata/main/disaster_econ.csv'})
.key('Id')
.fields('economic_damages')
),
vl.groupby('Year', 'disaster')
.aggregate([
vl.sum('economic_damages').as('Total_Damages'),
vl.sum('deaths').as('Total_Deaths')
])
)
.encode(
vl.x().fieldT('Year'),
vl.y().fieldN('disaster').sort(vl.average('Total_Deaths').order('descending')),
vl.size().fieldQ('Total_Deaths'),
vl.tooltip().fieldQ('Total_Damages')
)
.width(600)
.render();
Insert cell
Insert cell
vl.markCircle()
.data({
'url': 'https://raw.githubusercontent.com/lacepadilla/classdata/main/disaster_deaths.csv'
})
.transform(
vl.lookup(['Id'])
.from(vl.data({'url': 'https://raw.githubusercontent.com/lacepadilla/classdata/main/disaster_econ.csv'})
.key('Id')
.fields('economic_damages')),
vl.groupby('Year', 'disaster')
.aggregate([vl.sum('economic_damages').as('Total_Damages'),
vl.sum('deaths').as('Total_Deaths')]),
vl.calculate('datum.Total_Damages * datum.Total_Deaths').as('Product')
)
.encode(
vl.x().fieldT('Year'),
vl.y().fieldN('disaster').sort(vl.average('Product').order('descending')),
vl.size().fieldQ('Product')
)
.width(600)
.render()
Insert cell
Insert cell
vl.markCircle()
.data({
'url': 'https://raw.githubusercontent.com/lacepadilla/classdata/main/disaster_deaths.csv'
})
.transform(
vl.lookup('Id')
.from(
vl.data({
'url': 'https://raw.githubusercontent.com/lacepadilla/classdata/main/disaster_econ.csv'
})
.key('Id')
.fields('economic_damages')
),
vl.groupby('Year', 'disaster')
.aggregate([
vl.sum('economic_damages').as('Total_Damages'),
vl.sum('deaths').as('Total_Deaths')
]),
vl.calculate('sqrt(datum.Total_Deaths * datum.Total_Damages)').as('SeverityIndex')
)
.encode(
vl.x().fieldT('Year'),
vl.y().fieldN('disaster')
.sort(vl.average('SeverityIndex').order('descending')),
vl.size().fieldQ('SeverityIndex')
)
.width(600)
.render();
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