x-bt-radar-chart component creates beautiful spider/web charts for multivariate data visualization.Perfect for comparing multiple datasets across several variables, with support for filled areas, custom grids, and interactive legends.
Simple Radar Chart
Create a basic radar chart with a single dataset by passing an array with labeled metrics.
Product Evaluation
1<x-bt-radar-chart 2 :data="[ 3 [ 4 'label' => 'Product A', 5 'Speed' => 85, 6 'Quality' => 90, 7 'Price' => 60, 8 'Design' => 75, 9 'Support' => 80,10 ],11 ]"12 title="Product Evaluation"13/>
Multiple Datasets Comparison
Compare multiple datasets by providing an array of data objects, each with its own label and color.
Product Comparison
1<x-bt-radar-chart 2 :data="[ 3 [ 4 'label' => 'Product A', 5 'color' => 'blue', 6 'Speed' => 85, 7 'Quality' => 90, 8 'Price' => 60, 9 'Design' => 75,10 'Support' => 80,11 ],12 [13 'label' => 'Product B',14 'color' => 'red',15 'Speed' => 70,16 'Quality' => 85,17 'Price' => 90,18 'Design' => 65,19 'Support' => 70,20 ],21 ]"22 title="Product Comparison"23 legend-position="bottom"24/>
Nested Data Structure
Use a nested data property to organize your metrics in a structured format.
Team Metrics
1<x-bt-radar-chart 2 :data="[ 3 [ 4 'label' => 'Team Performance', 5 'color' => 'green', 6 'data' => [ 7 'Communication' => 95, 8 'Collaboration' => 88, 9 'Innovation' => 92,10 'Efficiency' => 85,11 'Quality' => 90,12 ],13 ],14 ]"15 title="Team Metrics"16/>
Year-over-Year Comparison
Compare performance across different time periods with custom colors and legend positioning.
Year-over-Year Growth
1<x-bt-radar-chart 2 :data="[ 3 [ 4 'label' => 'Current Year', 5 'color' => 'emerald', 6 'Q1' => 75, 7 'Q2' => 82, 8 'Q3' => 88, 9 'Q4' => 95,10 ],11 [12 'label' => 'Previous Year',13 'color' => 'gray',14 'Q1' => 65,15 'Q2' => 70,16 'Q3' => 75,17 'Q4' => 80,18 ],19 ]"20 title="Year-over-Year Growth"21 legend-position="right"22 height="h-96"23/>
Radar Chart with CSS Colors
Use CSS color values (hex, rgb, hsl) for precise color control across multiple datasets.
Skills Assessment
1<x-bt-radar-chart 2 :data="[ 3 [ 4 'label' => 'Frontend', 5 'color' => '#3b82f6', 6 'HTML' => 95, 7 'CSS' => 90, 8 'JavaScript' => 88, 9 'TypeScript' => 75,10 'React' => 85,11 ],12 [13 'label' => 'Backend',14 'color' => '#10b981',15 'PHP' => 92,16 'Python' => 78,17 'Node.js' => 85,18 'SQL' => 90,19 'APIs' => 88,20 ],21 ]"22 title="Skills Assessment"23 legend-position="bottom"24/>
Radar Chart Without Labels
Hide axis labels and adjust grid levels for a cleaner visualization.
Athlete Performance
1<x-bt-radar-chart 2 :data="[ 3 [ 4 'label' => 'Player Stats', 5 'Speed' => 88, 6 'Strength' => 75, 7 'Agility' => 92, 8 'Stamina' => 85, 9 'Accuracy' => 90,10 ],11 ]"12 title="Athlete Performance"13 :show-labels="false"14 legend-position="right"15 :grid-levels="5"16 height="h-80"17/>
Minimal Radar Chart
Create a minimal chart without grid and axes for a clean appearance.
Performance Dashboard
1<x-bt-radar-chart 2 :data="[ 3 [ 4 'label' => 'Metrics', 5 'Metric 1' => 70, 6 'Metric 2' => 85, 7 'Metric 3' => 92, 8 'Metric 4' => 78, 9 'Metric 5' => 88,10 ],11 ]"12 title="Performance Dashboard"13 :show-grid="false"14 :show-axes="false"15 chart-color="purple"16 legend-position="bottom"17/>
Radar Chart with Custom Fill
Adjust the fill area opacity to create overlapping transparent polygons for better comparison.
Decision Matrix
1<x-bt-radar-chart 2 :data="[ 3 [ 4 'label' => 'Option A', 5 'Cost' => 60, 6 'Time' => 85, 7 'Quality' => 95, 8 'Risk' => 40, 9 ],10 [11 'label' => 'Option B',12 'Cost' => 80,13 'Time' => 70,14 'Quality' => 85,15 'Risk' => 60,16 ],17 ]"18 title="Decision Matrix"19 :fill-area="true"20 :fill-opacity="0.3"21 :border="false"22 legend-position="bottom"23 height="h-72"24 :chart-color="['teal', 'orange']"25/>
Three-Way Comparison
Compare three or more datasets simultaneously with automatic color assignment and adjustable opacity.
Candidate Comparison
1<x-bt-radar-chart 2 :data="[ 3 [ 4 'label' => 'Candidate A', 5 'Experience' => 90, 6 'Skills' => 85, 7 'Communication' => 88, 8 'Cultural Fit' => 92, 9 'Motivation' => 95,10 ],11 [12 'label' => 'Candidate B',13 'Experience' => 75,14 'Skills' => 95,15 'Communication' => 90,16 'Cultural Fit' => 85,17 'Motivation' => 88,18 ],19 [20 'label' => 'Candidate C',21 'Experience' => 82,22 'Skills' => 80,23 'Communication' => 95,24 'Cultural Fit' => 90,25 'Motivation' => 85,26 ],27 ]"28 title="Candidate Comparison"29 :chart-color="['blue', 'green', 'purple']"30 legend-position="right"31 :fill-opacity="0.15"32/>
Collapsible Radar Chart
Make the chart collapsible by enabling the collapsible prop. Click the title to expand/collapse.
Competitive Analysis
1<x-bt-radar-chart 2 :data="[ 3 [ 4 'label' => 'Product A', 5 'Speed' => 85, 6 'Quality' => 90, 7 'Price' => 60, 8 'Design' => 75, 9 'Support' => 80,10 ],11 [12 'label' => 'Product B',13 'Speed' => 70,14 'Quality' => 85,15 'Price' => 90,16 'Design' => 65,17 'Support' => 70,18 ],19 ]"20 title="Competitive Analysis"21 :collapsible="true"22 legend-position="bottom"23 height="h-80"24/>
Props
| Prop | Type | Default | Description |
|---|---|---|---|
data
|
array
|
[]
|
Array of datasets. Each dataset is an array with 'label', optional 'color', and metric key-value pairs.
|
height
|
string
|
'h-96'
|
Tailwind height class for the chart container.
|
chartColor
|
mixed
|
null
|
Color(s) for datasets. Can be a single color or array of colors.
|
backgroundColor
|
string|null
|
null
|
Background color for the chart wrapper.
|
title
|
string|null
|
null
|
Chart title displayed at the top.
|
collapsible
|
bool
|
false
|
Whether the chart can be collapsed/expanded from the title.
|
showLabels
|
bool
|
true
|
Whether to show axis labels for each metric.
|
legendPosition
|
string
|
'bottom'
|
Position of the legend: 'right', 'bottom', 'none', or 'hidden'.
|
formatValues
|
string
|
'%s'
|
Printf-style format string for value display.
|
border
|
bool
|
true
|
Whether to show border around the chart.
|
borderColor
|
string|null
|
null
|
Custom border color (Tailwind class).
|
showGrid
|
bool
|
true
|
Whether to show grid circles.
|
gridLevels
|
int
|
5
|
Number of concentric grid circles to display.
|
showAxes
|
bool
|
true
|
Whether to show radial axes lines from center to each vertex.
|
fillArea
|
bool
|
true
|
Whether to fill the polygon area formed by the data points.
|
fillOpacity
|
float
|
0.2
|
Opacity of the filled area (0-1).
|