{
const magBarChart = vl.markBar({color: "#888"})
.title('Number of Events by Magnitude')
.data(earthquakes)
.encode(
vl.x().fieldQ('magnitude').bin({maxbins : 30}).title('Magnitude'),
vl.y().count().title(null)
)
.width(width*0.40)
.height(200)
const EventsByDepth = vl.markBar({color: "#888"})
.title('Events By Depth')
.data(earthquakes)
.encode(
vl.x().fieldQ('depth').bin({maxbins : 30}).title('Depth'),
vl.y().count().title(null)
)
.width(width*0.40)
.height(200);
const vis1 = vl.vconcat(magBarChart, EventsByDepth)
const vis2 = vl.hconcat(vis1, mapView)
const EventsPerHour = vl.markLine({color: "#666"})
.title('Events Per Hour')
.data(earthquakes)
.encode(
vl.x().fieldT('origintime').timeUnit('hoursdatemonth').title('Date'),
vl.y().count().title(null)
)
.width(width - 50)
.height(200)
const vis3 = vl.vconcat(vis2, EventsPerHour).resolve({scale: {size: 'independent'}}).title("Earthquakes in New Zealand")
return vis3.render();
}