Coloured Voronoi

{
  "$schema": "https://vega.github.io/schema/vega/v5.json",
  "usermeta": {
    "deneb": {
      "build": "1.5.1.0",
      "metaVersion": 1,
      "provider": "vega",
      "providerVersion": "5.23.0"
    },
    "interactivity": {
      "tooltip": true,
      "contextMenu": true,
      "selection": false,
      "highlight": false,
      "dataPointLimit": 50
    },
    "information": {
      "name": "Coloured Voronoi Diagram",
      "description": "[No Description Provided]",
      "author": "Kerry Kolosko",
      "uuid": "9ffed529-f77e-467b-8854-2bd3162c3cc4",
      "generated": "2023-05-15T10:50:32.605Z",
      "previewImageBase64PNG": "data:image/png;base64,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"
    },
    "dataset": [
      {
        "key": "__0__",
        "name": "Category",
        "description": "",
        "type": "text",
        "kind": "column"
      },
      {
        "key": "__1__",
        "name": "X",
        "description": "",
        "type": "numeric",
        "kind": "column"
      },
      {
        "key": "__2__",
        "name": "Y",
        "description": "",
        "type": "numeric",
        "kind": "column"
      }
    ]
  },
  "config": {
    "autosize": {
      "contains": "padding",
      "type": "fit"
    },
    "view": {"stroke": "transparent"},
    "font": "Segoe UI",
    "arc": {},
    "area": {
      "line": true,
      "opacity": 0.6
    },
    "bar": {},
    "line": {
      "strokeWidth": 3,
      "strokeCap": "round",
      "strokeJoin": "round"
    },
    "path": {},
    "point": {
      "filled": true,
      "size": 75
    },
    "rect": {},
    "shape": {},
    "symbol": {
      "strokeWidth": 1.5,
      "size": 50
    },
    "text": {
      "font": "Segoe UI",
      "fontSize": 12,
      "fill": "#605E5C"
    },
    "axis": {
      "ticks": false,
      "grid": false,
      "domain": false,
      "labelColor": "#605E5C",
      "labelFontSize": 12,
      "titleFont": "wf_standard-font, helvetica, arial, sans-serif",
      "titleColor": "#252423",
      "titleFontSize": 16,
      "titleFontWeight": "normal"
    },
    "axisQuantitative": {
      "tickCount": 3,
      "grid": true,
      "gridColor": "#C8C6C4",
      "gridDash": [1, 5],
      "labelFlush": false
    },
    "axisX": {"labelPadding": 5},
    "axisY": {"labelPadding": 10},
    "header": {
      "titleFont": "wf_standard-font, helvetica, arial, sans-serif",
      "titleFontSize": 16,
      "titleColor": "#252423",
      "labelFont": "Segoe UI",
      "labelFontSize": 13.333333333333332,
      "labelColor": "#605E5C"
    },
    "legend": {
      "titleFont": "Segoe UI",
      "titleFontWeight": "bold",
      "titleColor": "#605E5C",
      "labelFont": "Segoe UI",
      "labelFontSize": 13.333333333333332,
      "labelColor": "#605E5C",
      "symbolType": "circle",
      "symbolSize": 75
    }
  },
  "data": [{"name": "dataset"}],
  "scales": [
    {
      "name": "xscale",
      "domain": {"data": "dataset", "field": "__1__"},
      "range": "width"
    },
    {
      "name": "yscale",
      "domain": {"data": "dataset", "field": "__2__"},
      "range": "height"
    },
    {
      "name": "color",
      "type": "ordinal",
      "domain": {
        "data": "dataset",
        "field": "__0__"
      },
      "range": {"scheme": "pastel1"}
    }
  ],
  "marks": [
    {
      "name": "points",
      "type": "symbol",
      "zindex": 1,
      "from": {"data": "dataset"},
      "interactive": false,
      "encode": {
        "enter": {
          "fill": {"value": "black"},
          "size": {"value": 36},
          "x": {
            "scale": "xscale",
            "field": "__1__"
          },
          "y": {
            "scale": "yscale",
            "field": "__2__"
          }
        }
      }
    },
    {
      "name": "outline",
      "type": "path",
      "from": {"data": "points"},
      "encode": {
        "enter": {
          "stroke": {"value": "white"},
          "fill": {
            "scale": "color",
            "field": "datum['__0__']"
          }
        }
      },
      "transform": [
        {
          "type": "voronoi",
          "x": "datum.x",
          "y": "datum.y",
          "size": [
            {"signal": "width"},
            {"signal": "height"}
          ]
        }
      ]
    },
    {
      "type": "text",
      "from": {"data": "points"},
      "encode": {
        "enter": {
          "text": {
            "field": "datum['__0__']"
          },
          "fontSize": {"value": 8}
        }
      },
      "transform": [
        {
          "type": "label",
          "anchor": [
            "top",
            "bottom",
            "right",
            "left"
          ],
          "offset": [1],
          "size": {
            "signal": "[width + 60, height]"
          }
        }
      ]
    }
  ]
}

1 comment

  1. Wow Kerry, as always you beat everyone to the new frontier. This time with “Colored/Coloured Voronoi” in Deneb. Awesome.

Leave a comment

Your email address will not be published. Required fields are marked *