Radar Chart

Metric rows compile into radial axes, guide rings, closed profile polygons, and vertex points.

Radar Chart
Radar Chart Pipeline pipeline

Data Sources

7

Fields

27

Scales

1

Layers

12

Glyphs

46

rect 6 / path 7 / line 5 / text 13 / point 15

255075100radar-axesradar-axesradar-axesradar-axesradar-axes252550507575100100AwarenessAwarenessConversionConversionRetentionRetentionMarginMarginSatisfactionSatisfactionNorth: average 70.4South: average 70.6West: average 74north-awareness Northnorth-conversion Northnorth-retention Northnorth-margin Northnorth-satisfaction Northsouth-awareness Southsouth-conversion Southsouth-retention Southsouth-margin Southsouth-satisfaction Southwest-awareness Westwest-conversion Westwest-retention Westwest-margin Westwest-satisfaction WestNorthSouthWestRegion

Build Path

Radar Chart Pipeline

This example is rebuilt from gallery data source scores by recipe radarChart: raw table rows -> TabularSource -> pipeline drafts -> analyzeAuthoringDrafts() -> materialized ChartSpec -> compileChart() -> SceneGraph -> SVG. The graph below shows the authored pipeline stage.

Pipeline recipe graph

14 pipelines
15 nodes
13 edges

Data Flow Diagram

0/476 nodes
0/819 edges
476 hidden

Select a glyph to highlight its complete source path.

Scope

Roles

source
transform
field
scale
layer
param
glyph

No matching flow nodes

Adjust search, scope, or role filters.

Available Data

7 tables
4 transforms

Imported table

source_gallery_radarchart
raw
6 columns
feeds pipeline_radar_axis_layout_transform
feeds pipeline_radar_ring_layout_transform
feeds pipeline_radar_polygon_layout_transform
feeds pipeline_radar_point_layout_transform

ChartSpec

{
  "id": "gallery.radarChart",
  "data": [
    {
      "id": "source_gallery_radarchart",
      "rows": 15
    },
    {
      "id": "source_radar_axes",
      "rows": 5
    },
    {
      "id": "source_radar_rings",
      "rows": 4
    },
    {
      "id": "source_radar_polygons",
      "rows": 3
    },
    {
      "id": "source_radar_points",
      "rows": 15
    },
    {
      "id": "__guide.pipeline_region_legend_guide",
      "rows": 3
    },
    {
      "id": "__guide.pipeline_region_legend_guide.title",
      "rows": 1
    }
  ],
  "transforms": [
    {
      "id": "pipeline_radar_axis_layout_transform",
      "type": "layout",
      "input": "source_gallery_radarchart",
      "output": "source_radar_axes",
      "options": {
        "errorMethod": "standardError",
        "field": "metric",
        "fit": "contain",
        "geometryField": "metric",
        "groupBy": [
          "metric"
        ],
        "idField": "metric",
        "includeMax": false,
        "labelField": "metric",
        "layout": "pipeline_plot_layout",
        "layoutKind": "radarAxes",
        "layoutMode": "proportionalAngle",
        "maxValue": 100,
        "mode": "normal",
        "order": [
          "Awareness",
          "Conversion",
          "Retention",
          "Margin",
          "Satisfaction"
        ],
        "orderField": "metric",
        "outerRadius": 132,
        "parentField": "score",
        "seriesBy": "score",
        "sourceField": "metric",
        "startField": "score",
        "targetField": "score",
        "value": "score",
        "xField": "score"
      }
    },
    {
      "id": "pipeline_radar_ring_layout_transform",
      "type": "layout",
      "input": "source_gallery_radarchart",
      "output": "source_radar_rings",
      "options": {
        "count": 4,
        "errorMethod": "standardError",
        "field": "metric",
        "fit": "contain",
        "geometryField": "metric",
        "groupBy": [
          "metric"
        ],
        "idField": "metric",
        "includeMax": false,
        "labelField": "metric",
        "layout": "pipeline_plot_layout",
        "layoutKind": "radarRings",
        "layoutMode": "proportionalAngle",
        "maxValue": 100,
        "mode": "normal",
        "order": [
          "Awareness",
          "Conversion",
          "Retention",
          "Margin",
          "Satisfaction"
        ],
        "orderField": "metric",
        "outerRadius": 132,
        "parentField": "score",
        "seriesBy": "score",
        "sourceField": "metric",
        "startField": "score",
        "targetField": "score",
        "value": "score",
        "xField": "score"
      }
    },
    {
      "id": "pipeline_radar_polygon_layout_transform",
      "type": "layout",
      "input": "source_gallery_radarchart",
      "output": "source_radar_polygons",
      "options": {
        "errorMethod": "standardError",
        "field": "metric",
        "fit": "contain",
        "geometryField": "metric",
        "groupBy": [
          "metric"
        ],
        "idField": "metric",
        "includeMax": false,
        "labelField": "metric",
        "layout": "pipeline_plot_layout",
        "layoutKind": "radarPolygons",
        "layoutMode": "proportionalAngle",
        "maxValue": 100,
        "mode": "normal",
        "order": [
          "Awareness",
          "Conversion",
          "Retention",
          "Margin",
          "Satisfaction"
        ],
        "orderField": "metric",
        "outerRadius": 132,
        "parentField": "score",
        "seriesBy": "region",
        "sourceField": "metric",
        "startField": "score",
        "targetField": "score",
        "value": "score",
        "xField": "score"
      }
    },
    {
      "id": "pipeline_radar_point_layout_transform",
      "type": "layout",
      "input": "source_gallery_radarchart",
      "output": "source_radar_points",
      "options": {
        "errorMethod": "standardError",
        "field": "metric",
        "fit": "contain",
        "geometryField": "metric",
        "groupBy": [
          "metric"
        ],
        "idField": "metric",
        "includeMax": false,
        "labelField": "metric",
        "layout": "pipeline_plot_layout",
        "layoutKind": "radarPoints",
        "layoutMode": "proportionalAngle",
        "maxValue": 100,
        "mode": "normal",
        "order": [
          "Awareness",
          "Conversion",
          "Retention",
          "Margin",
          "Satisfaction"
        ],
        "orderField": "metric",
        "outerRadius": 132,
        "parentField": "score",
        "seriesBy": "region",
        "sourceField": "metric",
        "startField": "score",
        "targetField": "score",
        "value": "score",
        "xField": "score"
      }
    }
  ],
  "axes": [],
  "grids": [],
  "legends": [
    {
      "id": "pipeline_region_legend_guide",
      "scale": "pipeline_color_color_scale",
      "kind": "color",
      "title": "Region"
    }
  ],
  "fields": [
    "__rowLabel",
    "id",
    "region",
    "metric",
    "score",
    "angle",
    "axis",
    "axisIndex",
    "axisLabel",
    "labelX",
    "labelY",
    "x1",
    "x2",
    "y1",
    "y2",
    "label",
    "pathD",
    "value",
    "average",
    "formatted",
    "series",
    "tooltip",
    "x",
    "y",
    "symbolX",
    "symbolY",
    "text"
  ],
  "scales": [
    {
      "id": "pipeline_color_color_scale",
      "type": "ordinal",
      "domain": {
        "source": "field",
        "data": "source_radar_polygons",
        "field": "series",
        "fields": [],
        "includeZero": false,
        "order": "input",
        "reverse": false,
        "symmetric": false
      }
    }
  ],
  "layers": [
    {
      "id": "pipeline_region_legend_guide-swatches",
      "mark": "rect",
      "role": "guide"
    },
    {
      "id": "pipeline_region_legend_guide-labels",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "pipeline_region_legend_guide-title",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "create_chart_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_view_layout_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_plot_layout_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_radar_rings_layer",
      "mark": "path",
      "role": "guide",
      "path": {
        "directD": true,
        "areaBand": false,
        "closedToY": false,
        "curve": "linear",
        "sortBy": ""
      }
    },
    {
      "id": "pipeline_radar_axes_layer",
      "mark": "line",
      "role": "guide"
    },
    {
      "id": "pipeline_ring_labels_layer",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "pipeline_axis_labels_layer",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "pipeline_radar_areas_layer",
      "mark": "path",
      "role": "data",
      "path": {
        "directD": true,
        "areaBand": false,
        "closedToY": false,
        "curve": "linear",
        "sortBy": ""
      }
    },
    {
      "id": "pipeline_radar_points_layer",
      "mark": "point",
      "role": "interaction"
    }
  ]
}

Resolved SceneGraph

{
  "scene": "gallery.radarChart.scene",
  "scales": [
    {
      "id": "pipeline_color_color_scale",
      "type": "ordinal",
      "domain": [
        "North",
        "South",
        "West"
      ],
      "range": [
        "var(--colors-blue-9)",
        "var(--colors-green-9)",
        "var(--colors-amber-9)",
        "var(--colors-purple-9)",
        "var(--colors-red-9)"
      ]
    }
  ],
  "layers": [
    {
      "id": "create_chart_surface",
      "role": "context",
      "zIndex": -10,
      "glyphs": 1
    },
    {
      "id": "pipeline_view_layout_surface",
      "role": "context",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "pipeline_plot_layout_surface",
      "role": "context",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "pipeline_radar_rings_layer",
      "role": "guide",
      "zIndex": 0,
      "glyphs": 4
    },
    {
      "id": "pipeline_radar_axes_layer",
      "role": "guide",
      "zIndex": 2,
      "glyphs": 5
    },
    {
      "id": "pipeline_ring_labels_layer",
      "role": "guide",
      "zIndex": 4,
      "glyphs": 4
    },
    {
      "id": "pipeline_axis_labels_layer",
      "role": "guide",
      "zIndex": 6,
      "glyphs": 5
    },
    {
      "id": "pipeline_radar_areas_layer",
      "role": "data",
      "zIndex": 20,
      "glyphs": 3
    },
    {
      "id": "pipeline_radar_points_layer",
      "role": "interaction",
      "zIndex": 30,
      "glyphs": 15
    },
    {
      "id": "pipeline_region_legend_guide-swatches",
      "role": "guide",
      "zIndex": 40,
      "glyphs": 3
    },
    {
      "id": "pipeline_region_legend_guide-labels",
      "role": "guide",
      "zIndex": 41,
      "glyphs": 3
    },
    {
      "id": "pipeline_region_legend_guide-title",
      "role": "guide",
      "zIndex": 42,
      "glyphs": 1
    }
  ]
}

Glyph Data Tree

12 layers

Full parameter lineage for the active compiler surface.

create_chart_surface

1

pipeline_view_layout_surface

1

pipeline_plot_layout_surface

1

pipeline_radar_rings_layer

4

pipeline_radar_axes_layer

5

pipeline_ring_labels_layer

4

pipeline_axis_labels_layer

5

pipeline_radar_areas_layer

3

pipeline_radar_points_layer

15

pipeline_region_legend_guide-swatches

3

pipeline_region_legend_guide-labels

3

pipeline_region_legend_guide-title

1

Glyph Inspector

none

Select a glyph in the chart to inspect resolved params and lineage.