Skip to content

Instantly share code, notes, and snippets.

@Finterly
Created April 29, 2020 21:46
Show Gist options
  • Save Finterly/1f59085a5825a6d240f980842faa1580 to your computer and use it in GitHub Desktop.
Save Finterly/1f59085a5825a6d240f980842faa1580 to your computer and use it in GitHub Desktop.
USHateCrime Radial Plot
{
"$schema": "https://vega.github.io/schema/vega/v5.json",
"description": "A basic radial plot that encodes two values as the angle and radius of an arc.",
"width": 200,
"height": 200,
"data": [
{
"name": "theft",
"values": [
12.1,
15.1,
13.8,
14.8,
14.8,
15.6,
13.7
],
"transform": [
{
"type": "pie",
"field": "data"
}
]
},
{
"name": "robbery",
"values": [
14.9,
14.2,
13.9,
13.3,
12.7,
15.2,
15.8
],
"transform": [
{
"type": "pie",
"field": "data"
}
]
},
{
"name": "assault",
"values": [
14.3,
13,
13.5,
14,
13.9,
15.7,
15.5
],
"transform": [
{
"type": "pie",
"field": "data"
}
]
},
{
"name": "drugs/weapon",
"values": [
11.3,
14.6,
13.8,
16.5,
16.6,
15,
11.3
],
"transform": [
{
"type": "pie",
"field": "data"
}
]
}
],
"scales": [
{
"name": "r",
"type": "linear",
"domain": {
"data": "drugs/weapon",
"field": "data"
},
"zero": true,
"range": [
20,
100
]
}
],
"layout": {
"padding": 10,
"columns": 2
},
"marks": [
{
"title": {
"text": "Theft",
"fontSize": 20,
"signal": 90,
"dx": 15,
"dy": -10
},
"type": "group",
"encode": {
"update": {
"width": {
"value": 200
},
"height": {
"value": 200
}
}
},
"marks": [
{
"type": "arc",
"from": {
"data": "theft"
},
"encode": {
"enter": {
"x": {
"field": {
"group": "width"
},
"mult": 0.5
},
"y": {
"field": {
"group": "height"
},
"mult": 0.5
},
"startAngle": {
"field": "startAngle"
},
"endAngle": {
"field": "endAngle"
},
"innerRadius": {
"value": 20
},
"outerRadius": {
"scale": "r",
"field": "data"
},
"stroke": {
"value": "#fff"
}
},
"update": {
"fill": {
"value": "#ccc"
}
},
"hover": {
"fill": {
"value": "lightblue"
}
}
}
},
{
"type": "text",
"from": {
"data": "theft"
},
"encode": {
"enter": {
"x": {
"field": {
"group": "width"
},
"mult": 0.5
},
"y": {
"field": {
"group": "height"
},
"mult": 0.5
},
"radius": {
"scale": "r",
"field": "data",
"offset": 8
},
"theta": {
"signal": "(datum.startAngle + datum.endAngle)/2"
},
"fill": {
"value": "#000"
},
"align": {
"value": "center"
},
"baseline": {
"value": "middle"
},
"text": {
"field": "data"
}
}
}
}
]
},
{
"title": {
"text": "Robbery",
"fontSize": 20,
"signal": 90,
"dx": 15,
"dy": -10
},
"type": "group",
"encode": {
"update": {
"width": {
"value": 200
},
"height": {
"value": 200
}
}
},
"marks": [
{
"type": "arc",
"from": {
"data": "robbery"
},
"encode": {
"enter": {
"x": {
"field": {
"group": "width"
},
"mult": 0.5
},
"y": {
"field": {
"group": "height"
},
"mult": 0.5
},
"startAngle": {
"field": "startAngle"
},
"endAngle": {
"field": "endAngle"
},
"innerRadius": {
"value": 20
},
"outerRadius": {
"scale": "r",
"field": "data"
},
"stroke": {
"value": "#fff"
}
},
"update": {
"fill": {
"value": "#ccc"
}
},
"hover": {
"fill": {
"value": "pink"
}
}
}
},
{
"type": "text",
"from": {
"data": "robbery"
},
"encode": {
"enter": {
"x": {
"field": {
"group": "width"
},
"mult": 0.5
},
"y": {
"field": {
"group": "height"
},
"mult": 0.5
},
"radius": {
"scale": "r",
"field": "data",
"offset": 8
},
"theta": {
"signal": "(datum.startAngle + datum.endAngle)/2"
},
"fill": {
"value": "#000"
},
"align": {
"value": "center"
},
"baseline": {
"value": "middle"
},
"text": {
"field": "data"
}
}
}
}
]
},
{
"title": {
"text": "Assault",
"fontSize": 20,
"signal": 90,
"dx": 15,
"dy": -10
},
"type": "group",
"encode": {
"update": {
"width": {
"value": 200
},
"height": {
"value": 200
}
}
},
"marks": [
{
"type": "arc",
"from": {
"data": "assault"
},
"encode": {
"enter": {
"x": {
"field": {
"group": "width"
},
"mult": 0.5
},
"y": {
"field": {
"group": "height"
},
"mult": 0.5
},
"startAngle": {
"field": "startAngle"
},
"endAngle": {
"field": "endAngle"
},
"innerRadius": {
"value": 20
},
"outerRadius": {
"scale": "r",
"field": "data"
},
"stroke": {
"value": "#fff"
}
},
"update": {
"fill": {
"value": "#ccc"
}
},
"hover": {
"fill": {
"value": "pink"
}
}
}
},
{
"type": "text",
"from": {
"data": "assault"
},
"encode": {
"enter": {
"x": {
"field": {
"group": "width"
},
"mult": 0.5
},
"y": {
"field": {
"group": "height"
},
"mult": 0.5
},
"radius": {
"scale": "r",
"field": "data",
"offset": 8
},
"theta": {
"signal": "(datum.startAngle + datum.endAngle)/2"
},
"fill": {
"value": "#000"
},
"align": {
"value": "center"
},
"baseline": {
"value": "middle"
},
"text": {
"field": "data"
}
}
}
}
]
},
{
"title": {
"text": "Drugs/Weapon",
"fontSize": 20,
"signal": 90,
"dx": 15,
"dy": -10
},
"type": "group",
"encode": {
"update": {
"width": {
"value": 200
},
"height": {
"value": 200
}
}
},
"marks": [
{
"type": "arc",
"from": {
"data": "drugs/weapon"
},
"encode": {
"enter": {
"x": {
"field": {
"group": "width"
},
"mult": 0.5
},
"y": {
"field": {
"group": "height"
},
"mult": 0.5
},
"startAngle": {
"field": "startAngle"
},
"endAngle": {
"field": "endAngle"
},
"innerRadius": {
"value": 20
},
"outerRadius": {
"scale": "r",
"field": "data"
},
"stroke": {
"value": "#fff"
}
},
"update": {
"fill": {
"value": "#ccc"
}
},
"hover": {
"fill": {
"value": "pink"
}
}
}
},
{
"type": "text",
"from": {
"data": "drugs/weapon"
},
"encode": {
"enter": {
"x": {
"field": {
"group": "width"
},
"mult": 0.5
},
"y": {
"field": {
"group": "height"
},
"mult": 0.5
},
"radius": {
"scale": "r",
"field": "data",
"offset": 8
},
"theta": {
"signal": "(datum.startAngle + datum.endAngle)/2"
},
"fill": {
"value": "#000"
},
"align": {
"value": "center"
},
"baseline": {
"value": "middle"
},
"text": {
"field": "data"
}
}
}
}
]
}
],
"config": {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment