Skip to content
daisyBlazor

RangeAreaChart

A band from a low to a high value at each point, with an optional line through it: response time between its fast and slow percentiles around the median, sessions between the quietest and busiest moment. D3 computes the scales, ticks and smooth curves on a time or category axis.
Over time
Cover · <RangeAreaChart>
Range area chartRange at 14 points from Oct 1, 2026 to Oct 14, 2026, between 45 and 286.Oct 4Oct 110100200300 Oct 1, 2026: Range 55–242, Center 110Oct 2, 2026: Range 59–259, Center 118Oct 3, 2026: Range 62–274, Center 124Oct 4, 2026: Range 64–283, Center 129Oct 5, 2026: Range 65–286, Center 130Oct 6, 2026: Range 64–282, Center 128Oct 7, 2026: Range 62–272, Center 124Oct 8, 2026: Range 58–257, Center 117Oct 9, 2026: Range 54–239, Center 109Oct 10, 2026: Range 51–223, Center 101Oct 11, 2026: Range 47–209, Center 95Oct 12, 2026: Range 45–200, Center 91Oct 13, 2026: Range 45–198, Center 90Oct 14, 2026: Range 46–203, Center 92

Examples

Basic

Points built with a date sit on a time axis; Low and High bound the band and Center draws the line. BandLabel and CenterLabel name them in the legend and tooltips.

API response time, last 30 days
API response time, last 30 daysp5–p95 at 30 points from Sep 20, 2026 to Oct 19, 2026, between 46 ms and 414 ms.Sep 20Sep 27Oct 4Oct 11Oct 18050100150200250300350400450 Sep 20, 2026: p5–p95 54 ms–288 ms, Median (p50) 120 msSep 21, 2026: p5–p95 56 ms–312 ms, Median (p50) 124 msSep 22, 2026: p5–p95 58 ms–335 ms, Median (p50) 129 msSep 23, 2026: p5–p95 60 ms–356 ms, Median (p50) 132 msSep 24, 2026: p5–p95 61 ms–336 ms, Median (p50) 135 msSep 25, 2026: p5–p95 73 ms–414 ms, Median (p50) 162 msSep 26, 2026: p5–p95 62 ms–369 ms, Median (p50) 138 msSep 27, 2026: p5–p95 62 ms–342 ms, Median (p50) 138 msSep 28, 2026: p5–p95 61 ms–351 ms, Median (p50) 136 msSep 29, 2026: p5–p95 60 ms–359 ms, Median (p50) 134 msSep 30, 2026: p5–p95 59 ms–324 ms, Median (p50) 131 msOct 1, 2026: p5–p95 57 ms–327 ms, Median (p50) 127 msOct 2, 2026: p5–p95 66 ms–390 ms, Median (p50) 148 msOct 3, 2026: p5–p95 53 ms–292 ms, Median (p50) 118 msOct 4, 2026: p5–p95 51 ms–295 ms, Median (p50) 114 msOct 5, 2026: p5–p95 49 ms–298 ms, Median (p50) 110 msOct 6, 2026: p5–p95 48 ms–263 ms, Median (p50) 106 msOct 7, 2026: p5–p95 47 ms–270 ms, Median (p50) 104 msOct 8, 2026: p5–p95 46 ms–280 ms, Median (p50) 102 msOct 9, 2026: p5–p95 57 ms–312 ms, Median (p50) 127 msOct 10, 2026: p5–p95 46 ms–267 ms, Median (p50) 103 msOct 11, 2026: p5–p95 47 ms–284 ms, Median (p50) 105 msOct 12, 2026: p5–p95 48 ms–264 ms, Median (p50) 107 msOct 13, 2026: p5–p95 50 ms–285 ms, Median (p50) 111 msOct 14, 2026: p5–p95 52 ms–308 ms, Median (p50) 115 msOct 15, 2026: p5–p95 54 ms–292 ms, Median (p50) 119 msOct 16, 2026: p5–p95 67 ms–375 ms, Median (p50) 149 msOct 17, 2026: p5–p95 58 ms–338 ms, Median (p50) 128 msOct 18, 2026: p5–p95 59 ms–320 ms, Median (p50) 132 msOct 19, 2026: p5–p95 61 ms–341 ms, Median (p50) 135 ms
p5–p95 Median (p50)
website/Examples/Charts/RangeAreaChartBasicExample.razor Source

Category axis

Points built with a label sit on a category axis; Smooth="false" joins them with straight segments and Color picks the theme colour.

Concurrent sessions by weekday
Concurrent sessions by weekdayLowest–highest at 7 points from Mon to Sun, between 500 sessions and 7,100 sessions.MonTueWedThuFriSatSun01,0002,0003,0004,0005,0006,0007,0008,000 Mon: Lowest–highest 1,800 sessions–6,200 sessions, Average 4,100 sessionsTue: Lowest–highest 2,100 sessions–6,900 sessions, Average 4,600 sessionsWed: Lowest–highest 2,000 sessions–7,100 sessions, Average 4,700 sessionsThu: Lowest–highest 1,900 sessions–6,800 sessions, Average 4,500 sessionsFri: Lowest–highest 1,500 sessions–5,600 sessions, Average 3,600 sessionsSat: Lowest–highest 600 sessions–2,100 sessions, Average 1,300 sessionsSun: Lowest–highest 500 sessions–1,900 sessions, Average 1,100 sessions
Lowest–highest Average
website/Examples/Charts/RangeAreaChartCategoryExample.razor Source

Step

Step draws the band and the center line as steps that hold until the next point; it wins over Smooth, which is on by default.

Deployments per day, by week
Deployments per day, by weekFewest–most at 7 points from W1 to W7, between 4 deploys and 31 deploys.W1W2W3W4W5W6W705101520253035 W1: Fewest–most 4 deploys–18 deploys, Median 9 deploysW2: Fewest–most 6 deploys–22 deploys, Median 12 deploysW3: Fewest–most 5 deploys–19 deploys, Median 11 deploysW4: Fewest–most 8 deploys–27 deploys, Median 15 deploysW5: Fewest–most 7 deploys–24 deploys, Median 14 deploysW6: Fewest–most 9 deploys–31 deploys, Median 17 deploysW7: Fewest–most 10 deploys–29 deploys, Median 18 deploys
Fewest–most Median
website/Examples/Charts/RangeAreaChartStepExample.razor Source

Playground

API response time, last 30 days
API response time, last 30 daysp5–p95 at 30 points from Sep 20, 2026 to Oct 19, 2026, between 46 ms and 414 ms.Sep 20Sep 27Oct 4Oct 11Oct 18050100150200250300350400450 Sep 20, 2026: p5–p95 54 ms–288 ms, Median (p50) 120 msSep 21, 2026: p5–p95 56 ms–312 ms, Median (p50) 124 msSep 22, 2026: p5–p95 58 ms–335 ms, Median (p50) 129 msSep 23, 2026: p5–p95 60 ms–356 ms, Median (p50) 132 msSep 24, 2026: p5–p95 61 ms–336 ms, Median (p50) 135 msSep 25, 2026: p5–p95 73 ms–414 ms, Median (p50) 162 msSep 26, 2026: p5–p95 62 ms–369 ms, Median (p50) 138 msSep 27, 2026: p5–p95 62 ms–342 ms, Median (p50) 138 msSep 28, 2026: p5–p95 61 ms–351 ms, Median (p50) 136 msSep 29, 2026: p5–p95 60 ms–359 ms, Median (p50) 134 msSep 30, 2026: p5–p95 59 ms–324 ms, Median (p50) 131 msOct 1, 2026: p5–p95 57 ms–327 ms, Median (p50) 127 msOct 2, 2026: p5–p95 66 ms–390 ms, Median (p50) 148 msOct 3, 2026: p5–p95 53 ms–292 ms, Median (p50) 118 msOct 4, 2026: p5–p95 51 ms–295 ms, Median (p50) 114 msOct 5, 2026: p5–p95 49 ms–298 ms, Median (p50) 110 msOct 6, 2026: p5–p95 48 ms–263 ms, Median (p50) 106 msOct 7, 2026: p5–p95 47 ms–270 ms, Median (p50) 104 msOct 8, 2026: p5–p95 46 ms–280 ms, Median (p50) 102 msOct 9, 2026: p5–p95 57 ms–312 ms, Median (p50) 127 msOct 10, 2026: p5–p95 46 ms–267 ms, Median (p50) 103 msOct 11, 2026: p5–p95 47 ms–284 ms, Median (p50) 105 msOct 12, 2026: p5–p95 48 ms–264 ms, Median (p50) 107 msOct 13, 2026: p5–p95 50 ms–285 ms, Median (p50) 111 msOct 14, 2026: p5–p95 52 ms–308 ms, Median (p50) 115 msOct 15, 2026: p5–p95 54 ms–292 ms, Median (p50) 119 msOct 16, 2026: p5–p95 67 ms–375 ms, Median (p50) 149 msOct 17, 2026: p5–p95 58 ms–338 ms, Median (p50) 128 msOct 18, 2026: p5–p95 59 ms–320 ms, Median (p50) 132 msOct 19, 2026: p5–p95 61 ms–341 ms, Median (p50) 135 ms
p5–p95 Median (p50)
<RangeAreaChart
                BandLabel="p5–p95"
                CenterLabel="Median (p50)"
                ValueFormat="{0:N0} ms"
                Title="API response time, last 30 days"
                Points="@_points" />

@code {
    // One point per day: the fastest and slowest 5% bound the band, the median runs through it.
    private static readonly RangePoint[] _points = Enumerable.Range(0, 30)
        .Select(i =>
        {
            double median = 120 + 18 * Math.Sin(i / 4.0) + (i % 7 == 5 ? 25 : 0);
            return new RangePoint(new DateTime(2026, 9, 20).AddDays(i), Math.Round(median * 0.45), Math.Round(median * 2.4 + (i * 13) % 40), Math.Round(median));
        })
        .ToArray();
}

API

<RangeAreaChart>

DaisyBlazor.Charts

Parameters

  • AspectRatio double
    = 1.78

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

  • BandLabel string
    = "Range"

    Name of the band in the legend and tooltips, e.g. "p50–p95".

  • CenterLabel string
    = "Center"

    Name of the center line in the legend and tooltips, e.g. "Median".

  • Color string
    = null

    CSS colour of the band and line. Defaults to the theme's primary colour.

  • Points IReadOnlyList<RangePoint>
    = []

    The points, in order. Each has a Low and High value and an optional Center; points with dates use a time axis, points with labels a category axis.

  • 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.

  • ShowLegend bool
    = true

    Show a legend naming the band and the center line under the chart.

  • 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.

  • Smooth bool
    = true

    Draw the band and the center line as smooth curves (monotone, so they never overshoot the data).

  • Step bool
    = false

    Draw the band and the center line as steps (step-after: each value holds until the next point). Step wins over Smooth, which is on by default.

  • 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 tooltips, e.g. "{0:N0} ms".

  • 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