{ "$schema": "https://vega.github.io/schema/vega/v5.json", "background": "white", "padding": 5, "width": 500, "height": 300, "data": [ { "name": "source_0", "url": "data/zipcodes.csv", "format": {"type": "csv"}, "transform": [ { "type": "formula", "expr": "substring(datum.zip_code, 0, 1)", "as": "digit" }, { "type": "geojson", "fields": ["longitude", "latitude"], "signal": "geojson_0" }, { "type": "geopoint", "projection": "projection", "fields": ["longitude", "latitude"], "as": ["x", "y"] } ] } ], "projections": [ { "name": "projection", "size": {"signal": "[width, height]"}, "fit": {"signal": "geojson_0"}, "type": "albersUsa" } ], "marks": [ { "name": "marks", "type": "symbol", "style": ["circle"], "from": {"data": "source_0"}, "encode": { "update": { "opacity": {"value": 0.7}, "fill": {"scale": "color", "field": "digit"}, "ariaRoleDescription": {"value": "circle"}, "description": { "signal": "\"longitude: \" + (format(datum[\"longitude\"], \"\")) + \"; latitude: \" + (format(datum[\"latitude\"], \"\")) + \"; digit: \" + (isValid(datum[\"digit\"]) ? datum[\"digit\"] : \"\"+datum[\"digit\"])" }, "x": {"field": "x"}, "y": {"field": "y"}, "size": {"value": 1}, "shape": {"value": "circle"} } } } ], "scales": [ { "name": "color", "type": "ordinal", "domain": {"data": "source_0", "field": "digit", "sort": true}, "range": "category" } ], "legends": [ { "fill": "color", "symbolType": "circle", "title": "digit", "encode": {"symbols": {"update": {"opacity": {"value": 0.7}}}} } ] }