pm25Circles = vl.markCircle({ size: 20, stroke: 'black', strokeWidth: .5, strokeOpacity: .2 })
.encode(
vl.latitude().fieldQ('Lat'),
vl.longitude().fieldQ('Lon'),
vl.color().fieldQ('PM2_5Value')
.scale({
type: 'threshold',
domain: [6, 12, 35, 55],
scheme: 'redyellowgreen',
reverse: true
})
.legend({ title: 'PM2.5 (μg/m³)', orient: 'bottom' }),
vl.opacity().fieldQ('AGE')
.scale({ domain: [0, 60], range: [1, 0] })
.legend(false),
vl.tooltip(['Label', 'PM2_5Value'])
)