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

TwHeatmapChart

TwHeatmapChart is a Blazor heatmap: a grid of cells whose color intensity shows the value where a row and a column meet.

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

TwHeatmapChart lays each series out as a row and each category as a column, and shades the cell where they meet by its value. Intensity uses a single hue, so darker always means more.
Support tickets by day and shift
MorningAfternoonEvening
MorningAfternoonEvening
Morning, MonValue 34
Morning, TueValue 28
Morning, WedValue 31
Morning, ThuValue 25
Morning, FriValue 40
Afternoon, MonValue 52
Afternoon, TueValue 47
Afternoon, WedValue 58
Afternoon, ThuValue 49
Afternoon, FriValue 61
Evening, MonValue 18
Evening, TueValue 22
Evening, WedValue 15
Evening, ThuValue 27
Evening, FriValue 33
MonTueWedThuFri
RAZOR
<TwChart Title="Support tickets by day and shift">
    <TwHeatmapChart Categories="@_days" Series="@_shifts" />
</TwChart>
CSHARP
@code {
    private readonly string[] _days = ["Mon", "Tue", "Wed", "Thu", "Fri"];
    
    private readonly ChartSeries[] _shifts =
    [
        new("Morning", [34, 28, 31, 25, 40]),
        new("Afternoon", [52, 47, 58, 49, 61]),
        new("Evening", [18, 22, 15, 27, 33])
    ];
}

Value labels

Set ShowValues to print each value on its cell. The text switches between dark and light ink to stay readable on any shade.
Support tickets by day and shift
MorningAfternoonEvening
MorningAfternoonEvening
34
28
31
25
40
52
47
58
49
61
18
22
15
27
33
Morning, MonValue 34
Morning, TueValue 28
Morning, WedValue 31
Morning, ThuValue 25
Morning, FriValue 40
Afternoon, MonValue 52
Afternoon, TueValue 47
Afternoon, WedValue 58
Afternoon, ThuValue 49
Afternoon, FriValue 61
Evening, MonValue 18
Evening, TueValue 22
Evening, WedValue 15
Evening, ThuValue 27
Evening, FriValue 33
MonTueWedThuFri
RAZOR
<TwChart Title="Support tickets by day and shift">
    <TwHeatmapChart Categories="@_days" Series="@_shifts" ShowValues="true" />
</TwChart>

Labels

ValueLabel names the value in tooltips and CategoryHeader names the first column of the table view.
Support tickets by day and shift
MorningAfternoonEvening
MorningAfternoonEvening
Morning, MonTickets 34
Morning, TueTickets 28
Morning, WedTickets 31
Morning, ThuTickets 25
Morning, FriTickets 40
Afternoon, MonTickets 52
Afternoon, TueTickets 47
Afternoon, WedTickets 58
Afternoon, ThuTickets 49
Afternoon, FriTickets 61
Evening, MonTickets 18
Evening, TueTickets 22
Evening, WedTickets 15
Evening, ThuTickets 27
Evening, FriTickets 33
MonTueWedThuFri
RAZOR
<TwChart Title="Support tickets by day and shift">
    <TwHeatmapChart Categories="@_days" Series="@_shifts" ValueLabel="Tickets" CategoryHeader="Day" Height="ChartHeight.Small" />
</TwChart>

Summary

Tooltips and the table view give the value of every series for each category.

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
  • Value labels
  • Labels
  • 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