{
  "version": "xarts.metric-panels/1",
  "family": "metric-panels",
  "operation": "bounded-measures",
  "provenance": {
    "legacyId": "harveyball"
  },
  "annotations": [],
  "document": {
    "header": {
      "title": "Feature Comparison",
      "subtitle": "Four products rated on eight features, from none to full"
    },
    "footer": {
      "source": "xarts · demo data",
      "notes": "Illustrative data to explore the chart and replace with your own."
    },
    "spacing": {
      "horizontalPadding": 24,
      "topPadding": 22,
      "bottomPadding": 16,
      "minimumTextGap": 4
    }
  },
  "output": {
    "filename": "harveyball",
    "embedSpec": true,
    "geometryDecimals": 2
  },
  "presentation": {
    "theme": "anlak",
    "dimensions": {
      "width": 800,
      "height": 480
    },
    "locale": "en-US",
    "fonts": "reference",
    "surface": "theme",
    "framePadding": 24
  },
  "data": {
    "rows": [
      {
        "id": "row-1",
        "label": "Ease of Use",
        "value": 100,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product A"
      },
      {
        "id": "row-2",
        "label": "Ease of Use",
        "value": 75,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product B"
      },
      {
        "id": "row-3",
        "label": "Ease of Use",
        "value": 50,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product C"
      },
      {
        "id": "row-4",
        "label": "Ease of Use",
        "value": 25,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product D"
      },
      {
        "id": "row-5",
        "label": "Performance",
        "value": 75,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product A"
      },
      {
        "id": "row-6",
        "label": "Performance",
        "value": 100,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product B"
      },
      {
        "id": "row-7",
        "label": "Performance",
        "value": 75,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product C"
      },
      {
        "id": "row-8",
        "label": "Performance",
        "value": 50,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product D"
      },
      {
        "id": "row-9",
        "label": "Security",
        "value": 50,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product A"
      },
      {
        "id": "row-10",
        "label": "Security",
        "value": 75,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product B"
      },
      {
        "id": "row-11",
        "label": "Security",
        "value": 100,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product C"
      },
      {
        "id": "row-12",
        "label": "Security",
        "value": 75,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product D"
      },
      {
        "id": "row-13",
        "label": "Scalability",
        "value": 100,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product A"
      },
      {
        "id": "row-14",
        "label": "Scalability",
        "value": 50,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product B"
      },
      {
        "id": "row-15",
        "label": "Scalability",
        "value": 75,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product C"
      },
      {
        "id": "row-16",
        "label": "Scalability",
        "value": 100,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product D"
      },
      {
        "id": "row-17",
        "label": "Documentation",
        "value": 75,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product A"
      },
      {
        "id": "row-18",
        "label": "Documentation",
        "value": 25,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product B"
      },
      {
        "id": "row-19",
        "label": "Documentation",
        "value": 50,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product C"
      },
      {
        "id": "row-20",
        "label": "Documentation",
        "value": 0,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product D"
      },
      {
        "id": "row-21",
        "label": "API Coverage",
        "value": 50,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product A"
      },
      {
        "id": "row-22",
        "label": "API Coverage",
        "value": 100,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product B"
      },
      {
        "id": "row-23",
        "label": "API Coverage",
        "value": 25,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product C"
      },
      {
        "id": "row-24",
        "label": "API Coverage",
        "value": 75,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product D"
      },
      {
        "id": "row-25",
        "label": "Cost Efficiency",
        "value": 25,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product A"
      },
      {
        "id": "row-26",
        "label": "Cost Efficiency",
        "value": 50,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product B"
      },
      {
        "id": "row-27",
        "label": "Cost Efficiency",
        "value": 100,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product C"
      },
      {
        "id": "row-28",
        "label": "Cost Efficiency",
        "value": 75,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product D"
      },
      {
        "id": "row-29",
        "label": "Community Support",
        "value": 75,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product A"
      },
      {
        "id": "row-30",
        "label": "Community Support",
        "value": 75,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product B"
      },
      {
        "id": "row-31",
        "label": "Community Support",
        "value": 50,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product C"
      },
      {
        "id": "row-32",
        "label": "Community Support",
        "value": 25,
        "capacity": 100,
        "unit": "%",
        "criterion": "Product D"
      }
    ]
  },
  "calculation": {
    "denominator": "row-capacity",
    "bounds": "reject",
    "missing": "reject",
    "quantization": {
      "method": "nearest-step",
      "steps": 4,
      "ties": "up"
    },
    "matrix": "complete",
    "order": "input"
  },
  "layout": {
    "view": "harvey-matrix",
    "margin": {
      "top": 48,
      "right": 20,
      "bottom": 20,
      "left": 140
    },
    "columnSpacing": 80,
    "rowSpacing": 40,
    "radius": 14,
    "columnRadiusFraction": 0.35,
    "rowRadiusFraction": 0.4,
    "labelGap": 12
  },
  "marks": {
    "fill": "series.blue",
    "background": "borderLight",
    "stroke": "series.blue",
    "strokeWidth": 1.5
  },
  "labels": {
    "row": {
      "fill": "textPrimary",
      "fontSize": 12,
      "fontWeight": 500
    },
    "column": {
      "fill": "textSecondary",
      "fontSize": 11,
      "fontWeight": 600
    }
  }
}
