Skip to main content
twblazor
Home
  • Get started
  • Tailwind with Blazor
  • Why twblazor?
  • Theme
  • Class Merge
    • Configuring localization
    • RTL Provider
  • Breadcrumb
  • Card
  • Carousel
  • Collapse
  • Footer
  • MenuNew
  • Navbar
  • On This PageNew
  • Sidebar
  • Stepper
  • Tabs
  • Tree List
  • Button
  • Checkbox
  • Color Picker
    • Date
    • Date Range
    • Datetime
    • Datetime Range
    • Time
    • Time Range
  • File Upload
  • NumericNew
  • Radio Button
  • RatingNew
  • Select
  • Slider
  • Switch
  • Textfield
  • Alert
  • Avatar
  • Chip
  • Icon
  • Progress
  • Skeleton
  • Spinner
  • TooltipNew
  • Data Table
  • Pagination
  • Pick List
  • BarcodeNew
  • QR CodeNew
  • CalendarNew
  • Table
  • Overview
  • Area
  • Bar
  • Box Plot
  • Bullet
  • Bump
  • Candlestick
  • Column
  • Dot Plot
  • Dumbbell
  • Funnel
  • Gantt
  • Gauge
  • Heatmap
  • Histogram
  • Icon
  • Line
  • Lollipop
  • Matrix
  • Nightingale
  • Parallel Coordinates
  • Pie
  • Quadrant
  • Radar
  • Radial Bar
  • Range
  • Scatter
  • Slope
  • Small Multiples
  • Strip Plot
  • Treemap
  • Waffle
  • Waterfall
  • Arc Diagram
  • Barcode
  • Beeswarm
  • Bump Area
  • Categorical Scatter
  • Chord Diagram
  • Circular Treemap
  • Contour
  • Convex Treemap
  • Density Plot
  • Dendrogram
  • Euler Diagram
  • Flowchart
  • Hexagonal Binning
  • Horizon
  • Marimekko
  • Network Diagram
  • Radial Histogram
  • Ridgeline
  • Sankey
  • Stream Graph
  • Sunburst
  • Venn Diagram
  • Violin Plot
  • Word Cloud
  • Dialog Service
  • Toast Service
API DocumentationAI Agents & Skills
Home Get Started

Charts

TwBumpAreaChart

TwBumpAreaChart is a Blazor bump area chart: a band per series that is as thick as its value and moves as its rank changes.

Last updated 18 October 2026

Please be aware this component is new, may have bugs and/or be subject to change. Please report any bugs at https://github.com/twblazor/twblazor/issues.

Basic usage

TwBumpAreaChart draws a band for each series. At every category the bands are stacked from the largest value at the top to the smallest at the bottom, so a band climbs when its series overtakes another and its thickness shows by how much it leads.
Market share by platformPercent
Atlas, 2021Rank 1Value 42
Beacon, 2021Rank 2Value 30
Comet, 2021Rank 3Value 28
Atlas, 2022Rank 1Value 38
Beacon, 2022Rank 2Value 32
Comet, 2022Rank 3Value 30
Beacon, 2023Rank 1Value 36
Atlas, 2023Rank 2Value 33
Comet, 2023Rank 3Value 31
Beacon, 2024Rank 1Value 39
Comet, 2024Rank 2Value 31
Atlas, 2024Rank 3Value 30
Beacon, 2025Rank 1Value 44
Comet, 2025Rank 2Value 30
Atlas, 2025Rank 3Value 26
20212022202320242025
RAZOR
<TwChart Title="Market share by platform" Description="Percent">
    <TwBumpAreaChart Categories="@_years" Series="@_platforms" />
</TwChart>
CSHARP
@code {
    private readonly string[] _years = ["2021", "2022", "2023", "2024", "2025"];
    
    private readonly ChartSeries[] _platforms =
    [
        new("Atlas", [42, 38, 33, 30, 26]),
        new("Beacon", [30, 32, 36, 39, 44]),
        new("Comet", [28, 30, 31, 31, 30])
    ];
}

Changing leaders

With more series and more crossings the chart tells the story of a race. Where a TwBumpChart shows only the order, the band thickness here also shows when the leader was far ahead and when the field was close.
Browser usagePercent of sessions
Falcon, Q1 23Rank 1Value 38%
Otter, Q1 23Rank 2Value 24%
Lynx, Q1 23Rank 3Value 20%
Heron, Q1 23Rank 4Value 12%
Wren, Q1 23Rank 5Value 6%
Falcon, Q2 23Rank 1Value 36%
Otter, Q2 23Rank 2Value 26%
Lynx, Q2 23Rank 3Value 19%
Heron, Q2 23Rank 4Value 13%
Wren, Q2 23Rank 5Value 6%
Falcon, Q3 23Rank 1Value 33%
Otter, Q3 23Rank 2Value 29%
Lynx, Q3 23Rank 3Value 19%
Heron, Q3 23Rank 4Value 12%
Wren, Q3 23Rank 5Value 7%
Otter, Q4 23Rank 1Value 32%
Falcon, Q4 23Rank 2Value 30%
Lynx, Q4 23Rank 3Value 18%
Heron, Q4 23Rank 4Value 13%
Wren, Q4 23Rank 5Value 7%
Otter, Q1 24Rank 1Value 35%
Falcon, Q1 24Rank 2Value 27%
Lynx, Q1 24Rank 3Value 17%
Heron, Q1 24Rank 4Value 14%
Wren, Q1 24Rank 5Value 7%
Otter, Q2 24Rank 1Value 37%
Falcon, Q2 24Rank 2Value 25%
Lynx, Q2 24Rank 3Value 17%
Heron, Q2 24Rank 4Value 13%
Wren, Q2 24Rank 5Value 8%
Otter, Q3 24Rank 1Value 40%
Falcon, Q3 24Rank 2Value 22%
Lynx, Q3 24Rank 3Value 16%
Heron, Q3 24Rank 4Value 14%
Wren, Q3 24Rank 5Value 8%
Otter, Q4 24Rank 1Value 43%
Falcon, Q4 24Rank 2Value 20%
Lynx, Q4 24Rank 3Value 15%
Heron, Q4 24Rank 4Value 13%
Wren, Q4 24Rank 5Value 9%
Q1 23Q2 23Q3 23Q4 23Q1 24Q2 24Q3 24Q4 24
RAZOR
<TwChart Title="Browser usage" Description="Percent of sessions">
    <TwBumpAreaChart Categories="@_quarters" Series="@_browsers" CategoryHeader="Quarter" ValueFormat="0'%'" Height="ChartHeight.Large" />
</TwChart>
CSHARP
@code {
    private readonly string[] _quarters = ["Q1 23", "Q2 23", "Q3 23", "Q4 23", "Q1 24", "Q2 24", "Q3 24", "Q4 24"];
    
    private readonly ChartSeries[] _browsers =
    [
        new("Falcon", [38, 36, 33, 30, 27, 25, 22, 20]),
        new("Otter", [24, 26, 29, 32, 35, 37, 40, 43]),
        new("Lynx", [20, 19, 19, 18, 17, 17, 16, 15]),
        new("Heron", [12, 13, 12, 13, 14, 13, 14, 13]),
        new("Wren", [6, 6, 7, 7, 7, 8, 8, 9])
    ];
}

Late arrivals

Use null where a series has no value. Its band starts, stops or breaks there, and the other bands close the gap.
Revenue by product lineMillions of pounds
Hardware, 2021Rank 1Value ¤4.2
Software, 2021Rank 2Value ¤2.1
Hardware, 2022Rank 1Value ¤4.0
Software, 2022Rank 2Value ¤2.9
Software, 2023Rank 1Value ¤3.8
Hardware, 2023Rank 2Value ¤3.6
Services, 2023Rank 3Value ¤0.9
Software, 2024Rank 1Value ¤4.6
Hardware, 2024Rank 2Value ¤3.1
Services, 2024Rank 3Value ¤1.8
Software, 2025Rank 1Value ¤5.2
Services, 2025Rank 2Value ¤3.4
Hardware, 2025Rank 3Value ¤2.8
20212022202320242025
RAZOR
<TwChart Title="Revenue by product line" Description="Millions of pounds">
    <TwBumpAreaChart Categories="@_years" Series="@_products" ValueFormat="C1" />
</TwChart>
CSHARP
@code {
    private readonly ChartSeries[] _products =
    [
        new("Hardware", [4.2, 4.0, 3.6, 3.1, 2.8]),
        new("Software", [2.1, 2.9, 3.8, 4.6, 5.2]),
        new("Services", [null, null, 0.9, 1.8, 3.4])
    ];
}

When to use

Use a bump area chart when both the order of the series and the size of the lead matter. When only the order matters, TwBumpChart is simpler. Negative values count as zero.

Summary

Tooltips and the table view give the value of every series for each category. Tooltips also give the rank of each series. The arrow keys move down each category in rank order, then on to the next.

Shared features

The legend, tooltips, keyboard navigation, table view, value formatting, height and empty state work the same on every chart. See TwChart for those options.

Keyboard navigation

The plot is a single Tab stop. Each data point is announced with its series and value as focus reaches it, and the table view presents the same data without the plot.
Key What it does
Tab Moves focus into the plot, onto the data point last visited.
Arrow Right or Arrow Down Moves to the next data point.
Arrow Left or Arrow Up Moves to the previous data point.
Home or End Moves to the first or last data point.
Escape Hides the tooltip of the focused data point.
Enter or Space On a legend item: shows or hides that series. On the table button: switches between the chart and its data table.

On this page

  • Basic usage
  • Changing leaders
  • Late arrivals
  • When to use
  • Summary
  • Shared features
  • Keyboard navigation
Discord (opens in a new tab) • GitHub (opens in a new tab) • Documentation (opens in a new tab) • MIT License (opens in a new tab) • llms.txt (opens in a new tab)

twblazor is and always will be free and open source.

An unhandled error has occurred. Reload