{
  "version": "xarts.coordinate-marks/1",
  "family": "coordinate-marks",
  "provenance": {
    "legacyId": "mckinseymatrix"
  },
  "document": {
    "header": {
      "title": "Portfolio Strategy",
      "subtitle": "Eight business units by market attractiveness and competitive strength"
    },
    "footer": {
      "source": "xarts · demo data",
      "notes": "Illustrative data to explore the chart and replace with your own."
    },
    "spacing": {
      "horizontalPadding": 32,
      "topPadding": 24,
      "bottomPadding": 24,
      "minimumTextGap": 6
    }
  },
  "presentation": {
    "theme": "anlak",
    "dimensions": {
      "width": 1200,
      "height": 760
    },
    "locale": "en-US",
    "fonts": "reference",
    "surface": "theme",
    "framePadding": 24
  },
  "output": {
    "filename": "mckinseymatrix",
    "embedSpec": true,
    "geometryDecimals": 2
  },
  "annotations": [],
  "operation": "classified-observations",
  "data": {
    "rows": [
      {
        "id": "1",
        "label": "Cloud Platform",
        "x": "Strong",
        "y": "High",
        "size": 420,
        "providedClass": null,
        "providedXLabel": null,
        "providedYLabel": null
      },
      {
        "id": "2",
        "label": "AI Services",
        "x": "Average",
        "y": "High",
        "size": 280,
        "providedClass": null,
        "providedXLabel": null,
        "providedYLabel": null
      },
      {
        "id": "3",
        "label": "Mobile Suite",
        "x": "Strong",
        "y": "Medium",
        "size": 350,
        "providedClass": null,
        "providedXLabel": null,
        "providedYLabel": null
      },
      {
        "id": "4",
        "label": "Data Warehouse",
        "x": "Average",
        "y": "Medium",
        "size": 190,
        "providedClass": null,
        "providedXLabel": null,
        "providedYLabel": null
      },
      {
        "id": "5",
        "label": "Legacy ERP",
        "x": "Weak",
        "y": "Low",
        "size": 150,
        "providedClass": null,
        "providedXLabel": null,
        "providedYLabel": null
      },
      {
        "id": "6",
        "label": "IoT Hub",
        "x": "Weak",
        "y": "High",
        "size": 90,
        "providedClass": null,
        "providedXLabel": null,
        "providedYLabel": null
      },
      {
        "id": "7",
        "label": "Security Tools",
        "x": "Weak",
        "y": "Medium",
        "size": 120,
        "providedClass": null,
        "providedXLabel": null,
        "providedYLabel": null
      },
      {
        "id": "8",
        "label": "Analytics Pro",
        "x": "Strong",
        "y": "Low",
        "size": 220,
        "providedClass": null,
        "providedXLabel": null,
        "providedYLabel": null
      }
    ]
  },
  "encoding": {
    "units": {
      "x": {
        "label": "Strength",
        "unit": "ordinal-level"
      },
      "y": {
        "label": "Attractiveness",
        "unit": "ordinal-level"
      },
      "size": {
        "label": "Revenue",
        "unit": "USD-millions"
      }
    }
  },
  "calculation": {
    "x": {
      "kind": "ordinal",
      "levels": [
        {
          "value": "Weak",
          "label": "Weak"
        },
        {
          "value": "Average",
          "label": "Average"
        },
        {
          "value": "Strong",
          "label": "Strong"
        }
      ],
      "order": [
        "Strong",
        "Average",
        "Weak"
      ]
    },
    "y": {
      "kind": "ordinal",
      "levels": [
        {
          "value": "Low",
          "label": "Low"
        },
        {
          "value": "Medium",
          "label": "Medium"
        },
        {
          "value": "High",
          "label": "High"
        }
      ],
      "order": [
        "High",
        "Medium",
        "Low"
      ]
    },
    "size": {
      "mapping": "sqrt-interpolated",
      "domain": {
        "source": "zero-maximum",
        "padding": 0
      },
      "radiusRange": [
        12,
        40
      ]
    },
    "cells": [
      {
        "id": "2-2",
        "xBand": 2,
        "yBand": 2,
        "label": "Invest / Grow",
        "displayLabel": "Invest / Grow",
        "alphaSuffix": "",
        "fill": "emerald",
        "markFill": "emerald"
      },
      {
        "id": "1-2",
        "xBand": 1,
        "yBand": 2,
        "label": "Invest / Grow",
        "displayLabel": "Invest / Grow",
        "alphaSuffix": "",
        "fill": "emerald",
        "markFill": "emerald"
      },
      {
        "id": "0-2",
        "xBand": 0,
        "yBand": 2,
        "label": "Hold / Selectivity",
        "displayLabel": "Hold / Selectivity",
        "alphaSuffix": "",
        "fill": "amber",
        "markFill": "amber"
      },
      {
        "id": "2-1",
        "xBand": 2,
        "yBand": 1,
        "label": "Invest / Grow",
        "displayLabel": "Invest / Grow",
        "alphaSuffix": "",
        "fill": "emerald",
        "markFill": "emerald"
      },
      {
        "id": "1-1",
        "xBand": 1,
        "yBand": 1,
        "label": "Hold / Selectivity",
        "displayLabel": "Hold / Selectivity",
        "alphaSuffix": "",
        "fill": "amber",
        "markFill": "amber"
      },
      {
        "id": "0-1",
        "xBand": 0,
        "yBand": 1,
        "label": "Harvest / Divest",
        "displayLabel": "Harvest / Divest",
        "alphaSuffix": "",
        "fill": "red",
        "markFill": "red"
      },
      {
        "id": "2-0",
        "xBand": 2,
        "yBand": 0,
        "label": "Hold / Selectivity",
        "displayLabel": "Hold / Selectivity",
        "alphaSuffix": "",
        "fill": "amber",
        "markFill": "amber"
      },
      {
        "id": "1-0",
        "xBand": 1,
        "yBand": 0,
        "label": "Harvest / Divest",
        "displayLabel": "Harvest / Divest",
        "alphaSuffix": "",
        "fill": "red",
        "markFill": "red"
      },
      {
        "id": "0-0",
        "xBand": 0,
        "yBand": 0,
        "label": "Harvest / Divest",
        "displayLabel": "Harvest / Divest",
        "alphaSuffix": "",
        "fill": "red",
        "markFill": "red"
      }
    ]
  },
  "profile": {
    "placement": {
      "mode": "measured",
      "maxWidth": 300,
      "maxLines": 5,
      "lineHeight": 1.35,
      "gap": 10,
      "edge": 10,
      "gridStep": 10,
      "guideWidth": 0.75,
      "guideColor": "textMuted"
    },
    "margin": {
      "top": 40,
      "right": 64,
      "bottom": 112,
      "left": 128
    },
    "frame": "matrix",
    "measureY": false,
    "reserveDomainRadius": false,
    "axis": {
      "xTitle": "Competitive Strength",
      "yTitle": "Industry Attractiveness",
      "ticksX": 10,
      "ticksY": 10,
      "measurementNumbers": null,
      "formatX": "number",
      "formatY": "number",
      "grid": false,
      "colTitleOffset": 40,
      "rowTitleOffset": -104,
      "tick": {
        "fontSize": 13,
        "fontWeight": 500,
        "fill": "textSecondary"
      },
      "title": {
        "fontSize": 13,
        "fontWeight": 600,
        "fill": "textSecondary"
      }
    },
    "cell": {
      "padding": 0.05,
      "opacity": 0.15,
      "stroke": "border",
      "strokeWidth": 1,
      "radius": 2,
      "label": {
        "fontSize": 13,
        "fontWeight": 500,
        "fill": "mix:secondary"
      },
      "labelMode": "bottom-band",
      "labelBandExtra": 10,
      "labelInsets": {
        "left": 12,
        "right": 12,
        "top": 20,
        "bottom": 12
      }
    },
    "midline": {
      "stroke": "textMuted",
      "width": 1,
      "dash": "4 3",
      "opacity": 0.4
    },
    "marks": {
      "verticalPosition": "start",
      "opacity": 0.75,
      "opacityAttribute": "fillOpacity",
      "stroke": "surface",
      "strokeWidth": 2,
      "fill": null,
      "hoverRadius": 0,
      "hoverStrokeWidth": 3,
      "radiusFit": "cell-range",
      "minimumClampedRadius": 0
    },
    "labels": {
      "ink": {
        "fontSize": 13,
        "fontWeight": 600,
        "fill": "textPrimary"
      },
      "exportMeasurement": "glyph-advances",
      "placement": "central",
      "gap": 3,
      "nameBandExtra": 4,
      "group": false,
      "guides": {
        "width": 0.5,
        "opacity": 0.4
      },
      "layer": "content"
    },
    "legend": {
      "layout": "wrap",
      "gap": 24,
      "rowHeight": 22,
      "mode": "frame",
      "offset": 76,
      "visible": true,
      "height": 36,
      "items": [
        {
          "label": "Invest / Grow",
          "fill": "emerald"
        },
        {
          "label": "Hold / Selectivity",
          "fill": "amber"
        },
        {
          "label": "Harvest / Divest",
          "fill": "red"
        }
      ],
      "step": 180,
      "dotSize": 10,
      "ink": {
        "fontSize": 13,
        "fontWeight": null,
        "fill": "textSecondary"
      },
      "opacity": 0.6
    }
  }
}
