Radial Charts
Radial chart components for gauges, progress indicators, and radial bar charts.
Default
A basic radial chart with multiple segments.
Radial Chart
Browser usage
// Config for radial bars
var config = new ChartConfig
{
["chrome"] = new ChartConfigEntry { Label = "Chrome", Color = "hsl(var(--chart-1))" },
["safari"] = new ChartConfigEntry { Label = "Safari", Color = "hsl(var(--chart-2))" },
["firefox"] = new ChartConfigEntry { Label = "Firefox", Color = "hsl(var(--chart-3))" }
};
// Each data item becomes a radial bar. MaxValue sets the scale.
// Segments animate in with staggered scale effects.
<ChartContainer Config="@config" Class="h-[250px] w-[250px]">
<RadialChart Data="@radialData">
<Radial DataKey="visitors" NameKey="browser"
OuterRadius="110" InnerRadius="50" MaxValue="300" />
</RadialChart>
</ChartContainer>With Center Text
A radial chart with content in the center.
Radial Chart - Gauge
Progress indicator
// For gauge/progress, use a single data item with CenterContent.
var gaugeConfig = new ChartConfig
{
["progress"] = new ChartConfigEntry { Label = "Progress", Color = "hsl(var(--chart-1))" }
};
var gaugeData = new List<Dictionary<string, object>>
{
new() { ["name"] = "progress", ["value"] = 75, ["fill"] = "var(--color-progress)" }
};
<ChartContainer Config="@gaugeConfig" Class="h-[250px] w-[250px]">
<RadialChart Data="@gaugeData">
<Radial DataKey="value" NameKey="name"
OuterRadius="110" InnerRadius="80"
MaxValue="100" StartAngle="-90" EndAngle="270">
<CenterContent>
<div class="flex flex-col">
<span class="text-3xl font-bold">75%</span>
<span class="text-xs text-muted-foreground">Complete</span>
</div>
</CenterContent>
</Radial>
</RadialChart>
</ChartContainer>