Skip to content
daisyBlazor

StreamChart

Series stacked as flowing layers over time, so both the total and each part's change read at a glance: weekly active users by product area, requests by client. D3 stacks the layers as a streamgraph, a stacked area or shares of 100%, and draws the smooth areas.
Over time
Cover · <StreamChart>
Stream chart4 series over 12 positions, from 1 to 12: Dashboards, API, Alerts, Integrations.1234567891011121: Dashboards 40, API 40, Alerts 15, Integrations 232: Dashboards 47, API 34, Alerts 12, Integrations 243: Dashboards 53, API 28, Alerts 12, Integrations 224: Dashboards 54, API 22, Alerts 15, Integrations 195: Dashboards 51, API 18, Alerts 20, Integrations 146: Dashboards 45, API 18, Alerts 26, Integrations 117: Dashboards 37, API 22, Alerts 30, Integrations 88: Dashboards 30, API 28, Alerts 32, Integrations 89: Dashboards 26, API 34, Alerts 31, Integrations 1110: Dashboards 27, API 40, Alerts 27, Integrations 1511: Dashboards 31, API 42, Alerts 22, Integrations 1912: Dashboards 38, API 41, Alerts 17, Integrations 22

Examples

Basic

Each ChartSeries is a layer; Dates put its values on a time axis. The default Wiggle offset centres the stream, and each layer is named where it is thick enough.

Weekly active users by product area
Weekly active users by product area5 series over 16 positions, from Jun 29, 2026 to Oct 12, 2026: Dashboards, API, Alerts, Integrations, Reports.JulAugSepOctDashboardsAPIAlertsIntegrationsReportsJun 29, 2026: Dashboards 4,200 users, API 2,894 users, Alerts 1,762 users, Integrations 988 users, Reports 1,539 usersJul 6, 2026: Dashboards 4,480 users, API 3,031 users, Alerts 1,494 users, Integrations 1,148 users, Reports 1,437 usersJul 13, 2026: Dashboards 4,714 users, API 3,109 users, Alerts 1,231 users, Integrations 1,276 users, Reports 1,281 usersJul 20, 2026: Dashboards 4,869 users, API 3,141 users, Alerts 1,032 users, Integrations 1,364 users, Reports 1,096 usersJul 27, 2026: Dashboards 4,925 users, API 3,148 users, Alerts 939 users, Integrations 1,413 users, Reports 914 usersAug 3, 2026: Dashboards 4,882 users, API 3,158 users, Alerts 977 users, Integrations 1,431 users, Reports 765 usersAug 10, 2026: Dashboards 4,761 users, API 3,196 users, Alerts 1,141 users, Integrations 1,432 users, Reports 675 usersAug 17, 2026: Dashboards 4,600 users, API 3,284 users, Alerts 1,402 users, Integrations 1,435 users, Reports 654 usersAug 24, 2026: Dashboards 4,443 users, API 3,432 users, Alerts 1,712 users, Integrations 1,457 users, Reports 702 usersAug 31, 2026: Dashboards 4,333 users, API 3,639 users, Alerts 2,011 users, Integrations 1,513 users, Reports 802 usersSep 7, 2026: Dashboards 4,307 users, API 3,890 users, Alerts 2,243 users, Integrations 1,608 users, Reports 928 usersSep 14, 2026: Dashboards 4,381 users, API 4,164 users, Alerts 2,365 users, Integrations 1,743 users, Reports 1,048 usersSep 21, 2026: Dashboards 4,551 users, API 4,433 users, Alerts 2,355 users, Integrations 1,907 users, Reports 1,133 usersSep 28, 2026: Dashboards 4,797 users, API 4,671 users, Alerts 2,221 users, Integrations 2,086 users, Reports 1,157 usersOct 5, 2026: Dashboards 5,080 users, API 4,858 users, Alerts 1,993 users, Integrations 2,262 users, Reports 1,111 usersOct 12, 2026: Dashboards 5,355 users, API 4,984 users, Alerts 1,722 users, Integrations 2,417 users, Reports 998 users
Dashboards API Alerts Integrations Reports
website/Examples/Charts/StreamChartBasicExample.razor Source

Percent and stacked

Offset="Percent" shows each layer's share of the total; Offset="Stacked" stacks the values on a zero baseline with a value axis. Labels put the values on a category axis.

Share of API requests by client (Percent)
Share of API requests by client (Percent)4 series over 7 positions, from Apr to Oct: Web app, CLI, SDK, Webhooks.AprMayJunJulAugSepOct0%20%40%60%80%100%Web appCLISDKWebhooksApr: Web app 12.4, CLI 3.1, SDK 6, Webhooks 2.2May: Web app 13.1, CLI 3.6, SDK 6.8, Webhooks 2.3Jun: Web app 13.8, CLI 4.4, SDK 7.1, Webhooks 2.6Jul: Web app 13.2, CLI 5.2, SDK 8.4, Webhooks 2.4Aug: Web app 14.6, CLI 5.9, SDK 9.9, Webhooks 2.9Sep: Web app 15.9, CLI 6.8, SDK 11.2, Webhooks 3.1Oct: Web app 16.4, CLI 7.7, SDK 12.8, Webhooks 3.3
Web app CLI SDK Webhooks
API requests by client, millions (Stacked)
API requests by client, millions (Stacked)4 series over 7 positions, from Apr to Oct: Web app, CLI, SDK, Webhooks.AprMayJunJulAugSepOct010203040Web appCLISDKApr: Web app 12.4M, CLI 3.1M, SDK 6.0M, Webhooks 2.2MMay: Web app 13.1M, CLI 3.6M, SDK 6.8M, Webhooks 2.3MJun: Web app 13.8M, CLI 4.4M, SDK 7.1M, Webhooks 2.6MJul: Web app 13.2M, CLI 5.2M, SDK 8.4M, Webhooks 2.4MAug: Web app 14.6M, CLI 5.9M, SDK 9.9M, Webhooks 2.9MSep: Web app 15.9M, CLI 6.8M, SDK 11.2M, Webhooks 3.1MOct: Web app 16.4M, CLI 7.7M, SDK 12.8M, Webhooks 3.3M
website/Examples/Charts/StreamChartOffsetExample.razor Source

Playground

Weekly active users by product area
Weekly active users by product area5 series over 16 positions, from Jun 29, 2026 to Oct 12, 2026: Dashboards, API, Alerts, Integrations, Reports.JulAugSepOctDashboardsAPIAlertsIntegrationsReportsJun 29, 2026: Dashboards 4,200 users, API 2,894 users, Alerts 1,762 users, Integrations 988 users, Reports 1,539 usersJul 6, 2026: Dashboards 4,480 users, API 3,031 users, Alerts 1,494 users, Integrations 1,148 users, Reports 1,437 usersJul 13, 2026: Dashboards 4,714 users, API 3,109 users, Alerts 1,231 users, Integrations 1,276 users, Reports 1,281 usersJul 20, 2026: Dashboards 4,869 users, API 3,141 users, Alerts 1,032 users, Integrations 1,364 users, Reports 1,096 usersJul 27, 2026: Dashboards 4,925 users, API 3,148 users, Alerts 939 users, Integrations 1,413 users, Reports 914 usersAug 3, 2026: Dashboards 4,882 users, API 3,158 users, Alerts 977 users, Integrations 1,431 users, Reports 765 usersAug 10, 2026: Dashboards 4,761 users, API 3,196 users, Alerts 1,141 users, Integrations 1,432 users, Reports 675 usersAug 17, 2026: Dashboards 4,600 users, API 3,284 users, Alerts 1,402 users, Integrations 1,435 users, Reports 654 usersAug 24, 2026: Dashboards 4,443 users, API 3,432 users, Alerts 1,712 users, Integrations 1,457 users, Reports 702 usersAug 31, 2026: Dashboards 4,333 users, API 3,639 users, Alerts 2,011 users, Integrations 1,513 users, Reports 802 usersSep 7, 2026: Dashboards 4,307 users, API 3,890 users, Alerts 2,243 users, Integrations 1,608 users, Reports 928 usersSep 14, 2026: Dashboards 4,381 users, API 4,164 users, Alerts 2,365 users, Integrations 1,743 users, Reports 1,048 usersSep 21, 2026: Dashboards 4,551 users, API 4,433 users, Alerts 2,355 users, Integrations 1,907 users, Reports 1,133 usersSep 28, 2026: Dashboards 4,797 users, API 4,671 users, Alerts 2,221 users, Integrations 2,086 users, Reports 1,157 usersOct 5, 2026: Dashboards 5,080 users, API 4,858 users, Alerts 1,993 users, Integrations 2,262 users, Reports 1,111 usersOct 12, 2026: Dashboards 5,355 users, API 4,984 users, Alerts 1,722 users, Integrations 2,417 users, Reports 998 users
Dashboards API Alerts Integrations Reports
Offset StreamOffset
<StreamChart
             ValueFormat="{0:N0} users"
             Title="Weekly active users by product area"
             Series="@_series"
             Dates="@_weeks" />

@code {
    private static readonly DateTime[] _weeks = Enumerable.Range(0, 16).Select(i => new DateTime(2026, 6, 29).AddDays(7 * i)).ToArray();

    private static ChartSeries Area(string name, double start, double growth, double swing, int phase) =>
        new(name, _weeks.Select((_, i) => Math.Round(start + growth * i + swing * Math.Sin((i + phase) / 2.2))).ToArray());

    private readonly ChartSeries[] _series =
    [
        Area("Dashboards", 4200, 60, 500, 0),
        Area("API", 2600, 140, 300, 3),
        Area("Alerts", 1500, 20, 650, 6),
        Area("Integrations", 900, 90, 200, 1),
        Area("Reports", 1200, -30, 350, 4),
    ];
}

API

<StreamChart>

DaisyBlazor.Charts

Parameters

  • AspectRatio double
    = 1.78

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

  • Dates IReadOnlyList<DateTime>
    = null

    The date of each position, in order, for a time axis. When null or shorter than the data, Labels are used instead.

  • Labels IReadOnlyList<string>
    = null

    The label of each position, for a category axis (when Dates is not set).

  • Offset StreamOffset
    = StreamOffset.Wiggle

    How the layers stack: a streamgraph (Wiggle, no value axis), a plain stacked area (Stacked) or shares of 100% (Percent).

  • 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>
    = []

    The layers. Each series' Data[i] is its value at Dates[i] (or Labels[i]); missing or negative values count as 0.

  • ShowLabels bool
    = true

    Write each series' name inside its layer, where the layer is thick enough.

  • ShowLegend bool
    = true

    Show a legend with a key per series 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.

  • 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} users".

  • 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