Skip to content
daisyBlazor

PolarAreaChart

A rose (Nightingale) chart: every category gets an equal slice of the circle and reaches out according to its value, so the area of each wedge is proportional to it. Good for counts per category or per weekday. D3 computes the wedges.
Composition and progress
Cover · <PolarAreaChart>
Polar area chartLogin: 142; Integrations: 96; Performance: 64; Data import: 58; Permissions: 41; API: 8850100150Login: 142Integrations: 96Performance: 64Data import: 58Permissions: 41API: 88LoginIntegrationsPerformanceData importPermissionsAPI

Examples

Basic

Wedges run clockwise from 12 o'clock in the order given; grid circles mark the scale.

Support tickets by category
Support tickets by categoryLogin: 142; Integrations: 96; Performance: 64; Data import: 58; Permissions: 41; Notifications: 27; API: 8850100150Login: 142Integrations: 96Performance: 64Data import: 58Permissions: 41Notifications: 27API: 88Login 142Integrations 96Performance 64Data import 58Permissions 41Notifications 27API 88
website/Examples/Charts/PolarAreaChartBasicExample.razor Source

Colours, names only

Give a point its own Color to make it stand out; ShowValues="false" keeps only the names (values stay in the tooltips).

Tickets by weekday
Tickets by weekdayMon: 182; Tue: 131; Wed: 120; Thu: 118; Fri: 96; Sat: 22; Sun: 1850100150200Mon: 182Tue: 131Wed: 120Thu: 118Fri: 96Sat: 22Sun: 18MonTueWedThuFriSatSun
website/Examples/Charts/PolarAreaChartColorsExample.razor Source

Wind rose

Labels and Series instead of Data stack the series outward in every wedge, each wedge's area following its total; the legend names the series.

Edge traffic by direction and protocol (millions of requests)
Edge traffic by direction and protocol (millions of requests)N: HTTP/3 4, HTTP/2 6, HTTP/1.1 2; NE: HTTP/3 6, HTTP/2 8, HTTP/1.1 3; E: HTTP/3 9, HTTP/2 12, HTTP/1.1 4; SE: HTTP/3 5, HTTP/2 7, HTTP/1.1 3; S: HTTP/3 3, HTTP/2 5, HTTP/1.1 2; SW: HTTP/3 2, HTTP/2 3, HTTP/1.1 1; W: HTTP/3 3, HTTP/2 4, HTTP/1.1 2; NW: HTTP/3 4, HTTP/2 5, HTTP/1.1 2510152025N, HTTP/3: 4N, HTTP/2: 6N, HTTP/1.1: 2NE, HTTP/3: 6NE, HTTP/2: 8NE, HTTP/1.1: 3E, HTTP/3: 9E, HTTP/2: 12E, HTTP/1.1: 4SE, HTTP/3: 5SE, HTTP/2: 7SE, HTTP/1.1: 3S, HTTP/3: 3S, HTTP/2: 5S, HTTP/1.1: 2SW, HTTP/3: 2SW, HTTP/2: 3SW, HTTP/1.1: 1W, HTTP/3: 3W, HTTP/2: 4W, HTTP/1.1: 2NW, HTTP/3: 4NW, HTTP/2: 5NW, HTTP/1.1: 2NNEESESSWWNW
HTTP/3 HTTP/2 HTTP/1.1
website/Examples/Charts/PolarAreaChartWindRoseExample.razor Source

Playground

Support tickets by category
Support tickets by categoryLogin: 142; Integrations: 96; Performance: 64; Data import: 58; Permissions: 41; Notifications: 27; API: 8850100150Login: 142Integrations: 96Performance: 64Data import: 58Permissions: 41Notifications: 27API: 88Login 142Integrations 96Performance 64Data import 58Permissions 41Notifications 27API 88
<PolarAreaChart Title="Support tickets by category" Data="@_tickets" />

@code {
    private readonly ChartDataPoint[] _tickets =
    [
        new("Login", 142),
        new("Integrations", 96),
        new("Performance", 64),
        new("Data import", 58),
        new("Permissions", 41),
        new("Notifications", 27),
        new("API", 88),
    ];
}

API

<PolarAreaChart>

DaisyBlazor.Charts

Parameters

  • AspectRatio double
    = 1

    Width divided by height. The chart keeps this shape at any width; its text keeps its size.

  • Data IReadOnlyList<ChartDataPoint>
    = []

    One wedge per point, clockwise from 12 o'clock. Points without a finite, non-negative Value are skipped; a point's Color overrides the palette.

  • Labels IReadOnlyList<string>
    = null

    Wedge names, clockwise from 12 o'clock, for stacked Series (a wind rose); every name gets a wedge, even an empty one.

  • RowHeight double?
    = null

    Height of each row in px, for a chart that lays its categories out as rows (horizontal bars, a Gantt's lanes, a heatmap's rows…): its height then follows its number of rows instead of AspectRatio, so a long list keeps readable rows at any width. A chart, or an orientation, without rows ignores it.

  • Series IReadOnlyList<ChartSeries>
    = null

    Stacked series instead of Data (a wind rose): value i of each series lines up with Labels[i], and the series stack outward in that wedge, the wedge's area following its total. Missing or negative values count as 0. Takes precedence over Data when it has series.

  • ShowLegend bool
    = true

    Show a legend of the Series when there is more than one.

  • ShowTitle bool
    = true

    Draw Title as a visible heading above the chart (the default); false keeps it only as the chart's accessible name, for a chart inside a card that already has a heading.

  • ShowValues bool
    = true

    Print each item's value (a wedge's total, when stacked) after its name.

  • Title string
    = null

    Optional heading rendered above the chart; it is also the chart's accessible name.

  • ValueFormat string
    = "{0:#,0.##}"

    Format string for values in labels and tooltips.

  • Width string
    = "100%"

    CSS width of the chart wrapper.

  • Class string
    = null

    Additional CSS classes merged onto the w-full wrapper.

  • Style string
    = null

    Inline styles appended after the width on the wrapper.

Something went wrong while running the docs. Reload