Skip to content
TerraFluent
  • Solutions
    PDF Reporting True PDF files, zero dependencies HTML Reporting Print-ready HTML, no PDF engine DOCX Reporting Native Word documents Chart Reporting Server-side SVG charts
    View all solutions →
  • Docs
  • Samples
  • Compare
  • Enterprise
Get started
  1. Home
  2. Charts
  3. Interactivity
TerraFluent.Chart.Reporting

Interactivity

Interactive mode is opt-in. Everything on this page requires .AsInteractive() and a browser; none of it appears in Static output.

Read the reference documentation →

Data Point Click — Line Chart

OnPointClick() — click any data point to see its details.

Monthly Revenue — Click Any Point — OnPointClick() · SvgMode.Interactive · inline function handler Monthly Revenue — Click Any Point — OnPointClick() · SvgMode.Interactive · inline function handler — Series: Revenue, Target. Categories: Jan to Dec. Values range from 210 to 380. Monthly Revenue — Click Any Point OnPointClick() · SvgMode.Interactive · inline function handler 0 100 200 300 Revenue ($k) Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Month Revenue: 210 Revenue: 245 Revenue: 260 Revenue: 295 Revenue: 330 Revenue: 310 Revenue: 350 Revenue: 380 Revenue: 345 Revenue: 290 Revenue: 265 Revenue: 300 Target: 230 Target: 240 Target: 255 Target: 280 Target: 310 Target: 320 Target: 330 Target: 355 Target: 340 Target: 300 Target: 270 Target: 295 Revenue Target terrafluent.dev terrafluent.dev

Data Point Click — Column Chart

OnPointClick() — two column series; click any bar.

Product Sales — Click a Bar — OnPointClick() · arrow function · logs point data to console Product Sales — Click a Bar — OnPointClick() · arrow function · logs point data to console — Series: Q1 Sales, Q2 Sales. Categories: Widget A to Widget F. Values range from 2.9k to 5.9k. Product Sales — Click a Bar OnPointClick() · arrow function · logs point data to console 0 1k 2k 3k 4k 5k Units Sold Widget A Widget B Widget C Widget D Widget E Widget F Product Q1 Sales: 4.8k units Q1 Sales: 3.2k units Q1 Sales: 5.6k units Q1 Sales: 2.9k units Q1 Sales: 4.1k units Q1 Sales: 3.7k units Q2 Sales: 5.1k units Q2 Sales: 3.6k units Q2 Sales: 5.9k units Q2 Sales: 3.4k units Q2 Sales: 4.4k units Q2 Sales: 4k units Q1 Sales Q2 Sales terrafluent.dev terrafluent.dev

Data Point Click — Shared Tooltip

OnPointClick() combined with shared tooltip.

KPI Dashboard — Click + Shared Tooltip — OnPointClick() + shared tooltip KPI Dashboard — Click + Shared Tooltip — OnPointClick() + shared tooltip — Series: Revenue, Costs, Profit. Categories: Q1 2024 to Q2 2025. Values range from 110 to 520. KPI Dashboard — Click + Shared Tooltip OnPointClick() + shared tooltip 0 100 200 300 400 500 Value ($k) Q1 2024 Q2 2024 Q3 2024 Q4 2024 Q1 2025 Q2 2025 Quarter Revenue: 320k Revenue: 410k Revenue: 390k Revenue: 480k Revenue: 520k Revenue: 495k Costs: 210k Costs: 255k Costs: 245k Costs: 290k Costs: 310k Costs: 295k Profit: 110k Profit: 155k Profit: 145k Profit: 190k Profit: 210k Profit: 200k Revenue Costs Profit terrafluent.dev terrafluent.dev

Legend Series Toggle

SvgMode.Interactive — click any legend item to hide/show that series.

Legend Series Toggle — Click to Hide / Show — SvgMode.Interactive · click any legend item to hide or restore that series Legend Series Toggle — Click to Hide / Show — SvgMode.Interactive · click any legend item to hide or restore that series — Series: Revenue, Costs, Profit, Target. Categories: Jan to Dec. Values range from 60 to 380. Legend Series Toggle — Click to Hide / Show SvgMode.Interactive · click any legend item to hide or restore that series 0 100 200 300 Value ($k) Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Month Revenue: $210k Revenue: $245k Revenue: $260k Revenue: $295k Revenue: $330k Revenue: $310k Revenue: $350k Revenue: $380k Revenue: $345k Revenue: $290k Revenue: $265k Revenue: $300k Costs: $150k Costs: $160k Costs: $170k Costs: $175k Costs: $185k Costs: $190k Costs: $200k Costs: $205k Costs: $195k Costs: $180k Costs: $165k Costs: $155k Profit: $60k Profit: $85k Profit: $90k Profit: $120k Profit: $145k Profit: $120k Profit: $150k Profit: $175k Profit: $150k Profit: $110k Profit: $100k Profit: $145k Target: $180k Target: $200k Target: $220k Target: $240k Target: $260k Target: $280k Target: $300k Target: $310k Target: $300k Target: $270k Target: $240k Target: $220k Revenue Costs Profit Target terrafluent.dev terrafluent.dev

SVG Export Button

ShowExportButton() — download button appears top-right.

Q3 2025 Revenue — SVG Export Demo — ShowExportButton() — click ⬇ SVG (top-right) to download Q3 2025 Revenue — SVG Export Demo — ShowExportButton() — click ⬇ SVG (top-right) to download — Series: Online, In-Store, Total. Categories: Jul, Aug, Sep. Values range from 220 to 655. Q3 2025 Revenue — SVG Export Demo ShowExportButton() — click ⬇ SVG (top-right) to download 0 100 200 300 400 500 600 Revenue ($k) Jul Aug Sep Month $310k $370k $395k $220k $245k $260k Online: $310k Online: $370k Online: $395k In-Store: $220k In-Store: $245k In-Store: $260k Total: $530k Total: $615k Total: $655k Online In-Store Total ⬇ SVG terrafluent.dev terrafluent.dev

Multi-Format Export Menu

ShowExportMenu() — SVG, PNG, JPEG, and PDF options.

H1 2025 Performance Dashboard — ShowExportMenu() — SVG, PNG, JPEG, PDF options top-right H1 2025 Performance Dashboard — ShowExportMenu() — SVG, PNG, JPEG, PDF options top-right — Series: Revenue, Cost, Profit. Categories: Jan to Jun. Values range from 100 to 515. H1 2025 Performance Dashboard ShowExportMenu() — SVG, PNG, JPEG, PDF options top-right 0 100 200 300 400 500 Value ($k) Jan Feb Mar Apr May Jun Month $310k $370k $395k $430k $480k $515k $210k $245k $260k $275k $295k $310k Revenue: $310k Revenue: $370k Revenue: $395k Revenue: $430k Revenue: $480k Revenue: $515k Cost: $210k Cost: $245k Cost: $260k Cost: $275k Cost: $295k Cost: $310k Profit: $100k Profit: $125k Profit: $135k Profit: $155k Profit: $185k Profit: $205k Revenue Cost Profit Export SVG PNG JPEG PDF terrafluent.dev terrafluent.dev

Data Table Toggle

ShowDataTable() — appends a per-category value grid below the chart.

Quarterly Performance — ShowDataTable() — per-category value grid appended below the chart Quarterly Performance — ShowDataTable() — per-category value grid appended below the chart — Series: Revenue, Cost, Profit. Categories: Q1, Q2, Q3, Q4. Values range from 110 to 480. Quarterly Performance ShowDataTable() — per-category value grid appended below the chart 0 100 200 300 400 USD ($k) Q1 Q2 Q3 Q4 Revenue Cost Profit Revenue Cost Profit Q1 320.0 210.0 110.0 Q2 410.0 255.0 155.0 Q3 390.0 245.0 145.0 Q4 480.0 290.0 190.0 terrafluent.dev terrafluent.dev

Range Selector (Navigator)

RangeSelector() — interactive brush strip below the chart fires tf:rangechange.

Weekly Traffic — 3-Year Time Series with Range Navigator — Drag the brush handles below to zoom in • Drag the centre to pan the selected window Weekly Traffic — 3-Year Time Series with Range Navigator — Drag the brush handles below to zoom in • Drag the centre to pan the selected window — Series: Organic Sessions, Sign-ups, Revenue ($). Categories: 2022-01-03 to 2024-12-23. Values range from 1.3k to 55.2k. Weekly Traffic — 3-Year Time Series with Range Navigator Drag the brush handles below to zoom in • Drag the centre to pan the selected window 0 10k 20k 30k 40k 50k Sessions / Revenue 2022-01-03 2022-04-04 2022-07-04 2022-10-03 2023-01-02 2023-04-03 2023-07-03 2023-10-02 2024-01-01 2024-04-01 2024-07-01 2024-09-30 2024-12-23 Organic Sessions: 9.1k Organic Sessions: 9.2k Organic Sessions: 9.3k Organic Sessions: 9.5k Organic Sessions: 9.6k Organic Sessions: 9.4k Organic Sessions: 9.7k Organic Sessions: 9.4k Organic Sessions: 9.7k Organic Sessions: 9.9k Organic Sessions: 10k Organic Sessions: 9.7k Organic Sessions: 10k Organic Sessions: 10.2k Organic Sessions: 10k Organic Sessions: 10.2k Organic Sessions: 10.1k Organic Sessions: 10.2k Organic Sessions: 10.3k Organic Sessions: 10.3k Organic Sessions: 10.1k Organic Sessions: 10k Organic Sessions: 9.8k Organic Sessions: 10k Organic Sessions: 10k Organic Sessions: 9.7k Organic Sessions: 9.8k Organic Sessions: 10.1k Organic Sessions: 10.2k Organic Sessions: 10k Organic Sessions: 10.1k Organic Sessions: 10.3k Organic Sessions: 10.1k Organic Sessions: 10k Organic Sessions: 9.8k Organic Sessions: 10k Organic Sessions: 9.9k Organic Sessions: 10.1k Organic Sessions: 10.2k Organic Sessions: 10.5k Organic Sessions: 10.5k Organic Sessions: 10.3k Organic Sessions: 10.2k Organic Sessions: 10k Organic Sessions: 9.8k Organic Sessions: 10k Organic Sessions: 9.8k Organic Sessions: 9.7k Organic Sessions: 9.6k Organic Sessions: 9.7k Organic Sessions: 9.5k Organic Sessions: 9.8k Organic Sessions: 9.6k Organic Sessions: 9.5k Organic Sessions: 9.6k Organic Sessions: 9.6k Organic Sessions: 9.5k Organic Sessions: 9.6k Organic Sessions: 9.3k Organic Sessions: 9.2k Organic Sessions: 9.1k Organic Sessions: 8.9k Organic Sessions: 9.2k Organic Sessions: 9.2k Organic Sessions: 9.5k Organic Sessions: 9.4k Organic Sessions: 9.3k Organic Sessions: 9.1k Organic Sessions: 9.3k Organic Sessions: 9.3k Organic Sessions: 9.5k Organic Sessions: 9.5k Organic Sessions: 9.3k Organic Sessions: 9.4k Organic Sessions: 9.2k Organic Sessions: 9.3k Organic Sessions: 9.3k Organic Sessions: 9.1k Organic Sessions: 8.9k Organic Sessions: 8.7k Organic Sessions: 9k Organic Sessions: 9k Organic Sessions: 9.3k Organic Sessions: 9.2k Organic Sessions: 9.3k Organic Sessions: 9.5k Organic Sessions: 9.7k Organic Sessions: 9.9k Organic Sessions: 9.9k Organic Sessions: 10.1k Organic Sessions: 10.2k Organic Sessions: 10.4k Organic Sessions: 10.3k Organic Sessions: 10.5k Organic Sessions: 10.4k Organic Sessions: 10.5k Organic Sessions: 10.6k Organic Sessions: 10.8k Organic Sessions: 10.7k Organic Sessions: 10.7k Organic Sessions: 10.8k Organic Sessions: 10.6k Organic Sessions: 10.7k Organic Sessions: 10.7k Organic Sessions: 10.6k Organic Sessions: 10.7k Organic Sessions: 10.7k Organic Sessions: 10.8k Organic Sessions: 10.9k Organic Sessions: 10.8k Organic Sessions: 10.8k Organic Sessions: 11.1k Organic Sessions: 11k Organic Sessions: 11k Organic Sessions: 11k Organic Sessions: 11.2k Organic Sessions: 11k Organic Sessions: 11.3k Organic Sessions: 11.1k Organic Sessions: 11.2k Organic Sessions: 11.3k Organic Sessions: 11k Organic Sessions: 11.3k Organic Sessions: 11.3k Organic Sessions: 11k Organic Sessions: 10.8k Organic Sessions: 11k Organic Sessions: 11.1k Organic Sessions: 11k Organic Sessions: 10.7k Organic Sessions: 10.7k Organic Sessions: 10.9k Organic Sessions: 11.1k Organic Sessions: 11.4k Organic Sessions: 11.6k Organic Sessions: 11.4k Organic Sessions: 11.6k Organic Sessions: 11.9k Organic Sessions: 11.9k Organic Sessions: 11.8k Organic Sessions: 11.8k Organic Sessions: 11.7k Organic Sessions: 11.8k Organic Sessions: 12.1k Organic Sessions: 12.1k Organic Sessions: 12.2k Organic Sessions: 12k Organic Sessions: 11.8k Organic Sessions: 11.8k Organic Sessions: 11.9k Organic Sessions: 11.9k Organic Sessions: 11.7k Organic Sessions: 12k Organic Sessions: 11.9k Organic Sessions: 12.1k Organic Sessions: 12.3k Sign-ups: 1.8k Sign-ups: 1.7k Sign-ups: 1.7k Sign-ups: 1.7k Sign-ups: 1.7k Sign-ups: 1.7k Sign-ups: 1.7k Sign-ups: 1.7k Sign-ups: 1.7k Sign-ups: 1.6k Sign-ups: 1.6k Sign-ups: 1.6k Sign-ups: 1.5k Sign-ups: 1.6k Sign-ups: 1.5k Sign-ups: 1.6k Sign-ups: 1.6k Sign-ups: 1.6k Sign-ups: 1.6k Sign-ups: 1.6k Sign-ups: 1.5k Sign-ups: 1.5k Sign-ups: 1.5k Sign-ups: 1.5k Sign-ups: 1.4k Sign-ups: 1.4k Sign-ups: 1.3k Sign-ups: 1.3k Sign-ups: 1.3k Sign-ups: 1.3k Sign-ups: 1.3k Sign-ups: 1.3k Sign-ups: 1.3k Sign-ups: 1.3k Sign-ups: 1.3k Sign-ups: 1.3k Sign-ups: 1.3k Sign-ups: 1.4k Sign-ups: 1.3k Sign-ups: 1.4k Sign-ups: 1.4k Sign-ups: 1.4k Sign-ups: 1.4k Sign-ups: 1.5k Sign-ups: 1.4k Sign-ups: 1.5k Sign-ups: 1.5k Sign-ups: 1.6k Sign-ups: 1.6k Sign-ups: 1.5k Sign-ups: 1.5k Sign-ups: 1.6k Sign-ups: 1.6k Sign-ups: 1.6k Sign-ups: 1.6k Sign-ups: 1.6k Sign-ups: 1.7k Sign-ups: 1.8k Sign-ups: 1.7k Sign-ups: 1.8k Sign-ups: 1.8k Sign-ups: 1.9k Sign-ups: 1.8k Sign-ups: 1.8k Sign-ups: 1.9k Sign-ups: 1.9k Sign-ups: 2k Sign-ups: 1.9k Sign-ups: 2k Sign-ups: 2k Sign-ups: 2.1k Sign-ups: 2.1k Sign-ups: 2.1k Sign-ups: 2.1k Sign-ups: 2.2k Sign-ups: 2.2k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.2k Sign-ups: 2.2k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.4k Sign-ups: 2.4k Sign-ups: 2.4k Sign-ups: 2.4k Sign-ups: 2.4k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.2k Sign-ups: 2.2k Sign-ups: 2.2k Sign-ups: 2.2k Sign-ups: 2.3k Sign-ups: 2.2k Sign-ups: 2.2k Sign-ups: 2.3k Sign-ups: 2.2k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.4k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.2k Sign-ups: 2.2k Sign-ups: 2.2k Sign-ups: 2.2k Sign-ups: 2.3k Sign-ups: 2.4k Sign-ups: 2.4k Sign-ups: 2.4k Sign-ups: 2.4k Sign-ups: 2.5k Sign-ups: 2.4k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.4k Sign-ups: 2.3k Sign-ups: 2.3k Sign-ups: 2.4k Sign-ups: 2.4k Sign-ups: 2.4k Sign-ups: 2.4k Sign-ups: 2.5k Sign-ups: 2.5k Sign-ups: 2.5k Sign-ups: 2.5k Sign-ups: 2.6k Sign-ups: 2.6k Sign-ups: 2.6k Sign-ups: 2.7k Sign-ups: 2.7k Sign-ups: 2.7k Sign-ups: 2.7k Sign-ups: 2.7k Sign-ups: 2.8k Sign-ups: 2.7k Sign-ups: 2.7k Sign-ups: 2.7k Sign-ups: 2.7k Sign-ups: 2.7k Sign-ups: 2.7k Sign-ups: 2.7k Sign-ups: 2.7k Sign-ups: 2.8k Sign-ups: 2.8k Revenue ($): 44k Revenue ($): 43.4k Revenue ($): 42.5k Revenue ($): 41.8k Revenue ($): 41.6k Revenue ($): 40.2k Revenue ($): 40k Revenue ($): 40.8k Revenue ($): 39.4k Revenue ($): 40.9k Revenue ($): 40k Revenue ($): 40.4k Revenue ($): 40.7k Revenue ($): 40.4k Revenue ($): 39k Revenue ($): 37.7k Revenue ($): 37.1k Revenue ($): 35.7k Revenue ($): 34.3k Revenue ($): 34.9k Revenue ($): 34.5k Revenue ($): 35.4k Revenue ($): 33.9k Revenue ($): 34.1k Revenue ($): 35.3k Revenue ($): 34.1k Revenue ($): 35.4k Revenue ($): 35.2k Revenue ($): 34.9k Revenue ($): 35.9k Revenue ($): 35.4k Revenue ($): 36.1k Revenue ($): 37.5k Revenue ($): 36.7k Revenue ($): 36.4k Revenue ($): 35.5k Revenue ($): 35.7k Revenue ($): 36.2k Revenue ($): 36.4k Revenue ($): 35.4k Revenue ($): 34.3k Revenue ($): 33.2k Revenue ($): 33.2k Revenue ($): 32.3k Revenue ($): 31.9k Revenue ($): 30.8k Revenue ($): 31.9k Revenue ($): 33k Revenue ($): 33.4k Revenue ($): 33k Revenue ($): 32.3k Revenue ($): 33.3k Revenue ($): 32.5k Revenue ($): 32.8k Revenue ($): 33.2k Revenue ($): 33.1k Revenue ($): 33.1k Revenue ($): 34.3k Revenue ($): 32.8k Revenue ($): 33.7k Revenue ($): 33.5k Revenue ($): 35.2k Revenue ($): 34.8k Revenue ($): 36.5k Revenue ($): 35.8k Revenue ($): 37k Revenue ($): 37.8k Revenue ($): 37k Revenue ($): 35.6k Revenue ($): 37.1k Revenue ($): 38.8k Revenue ($): 40.5k Revenue ($): 39.6k Revenue ($): 40.5k Revenue ($): 40.1k Revenue ($): 39.3k Revenue ($): 39.7k Revenue ($): 38.4k Revenue ($): 38k Revenue ($): 37.4k Revenue ($): 37.1k Revenue ($): 37.7k Revenue ($): 38.8k Revenue ($): 40.1k Revenue ($): 39.9k Revenue ($): 39.9k Revenue ($): 41.1k Revenue ($): 40k Revenue ($): 38.9k Revenue ($): 39.4k Revenue ($): 39k Revenue ($): 38k Revenue ($): 36.9k Revenue ($): 36.7k Revenue ($): 37.1k Revenue ($): 36.7k Revenue ($): 35.9k Revenue ($): 37.2k Revenue ($): 37.5k Revenue ($): 36.8k Revenue ($): 38.1k Revenue ($): 37.4k Revenue ($): 38.6k Revenue ($): 38.4k Revenue ($): 39.4k Revenue ($): 40.1k Revenue ($): 41.7k Revenue ($): 41.2k Revenue ($): 42k Revenue ($): 42.9k Revenue ($): 43.1k Revenue ($): 42.9k Revenue ($): 43.3k Revenue ($): 45k Revenue ($): 45.1k Revenue ($): 43.8k Revenue ($): 43.8k Revenue ($): 43.9k Revenue ($): 45.4k Revenue ($): 46.8k Revenue ($): 45.4k Revenue ($): 46k Revenue ($): 44.9k Revenue ($): 44.6k Revenue ($): 45.3k Revenue ($): 46.8k Revenue ($): 46.6k Revenue ($): 47.6k Revenue ($): 46.4k Revenue ($): 45.2k Revenue ($): 45.4k Revenue ($): 46.1k Revenue ($): 45.9k Revenue ($): 47k Revenue ($): 47.6k Revenue ($): 48.8k Revenue ($): 49.5k Revenue ($): 50.4k Revenue ($): 49.7k Revenue ($): 49.5k Revenue ($): 50.6k Revenue ($): 50.4k Revenue ($): 49.5k Revenue ($): 50.5k Revenue ($): 49.5k Revenue ($): 49.1k Revenue ($): 49.8k Revenue ($): 49.8k Revenue ($): 51.2k Revenue ($): 52.5k Revenue ($): 52.7k Revenue ($): 53.9k Revenue ($): 55.2k Revenue ($): 55.1k Revenue ($): 53.9k Revenue ($): 55k Organic Sessions Sign-ups Revenue ($) terrafluent.dev terrafluent.dev

Synchronized Tooltips

SyncGroup() — two charts share the same hover group so tooltips mirror each other.

Revenue ($k) Revenue ($k) — Series: Revenue. Categories: Jan to Jun. Values range from 42 to 85. Revenue ($k) 0 20 40 60 80 Revenue ($k) Jan Feb Mar Apr May Jun Revenue: 42 Revenue: 58 Revenue: 51 Revenue: 67 Revenue: 72 Revenue: 85 Revenue terrafluent.dev terrafluent.dev Units Sold Units Sold — Series: Units. Categories: Jan to Jun. Values range from 210 to 430. Units Sold 0 100 200 300 400 Units Jan Feb Mar Apr May Jun Units: 210 Units: 295 Units: 260 Units: 340 Units: 370 Units: 430 Units terrafluent.dev terrafluent.dev

Keep going

All chart types and features The full gallery index — 26 chart types, eight feature groups, and the cookbook. Getting started Install the package and render your first chart in a few lines of C#. API reference Every builder method, series type, enum and theme in one page.

← Back to the full chart gallery

TerraFluent

Fluent .NET solutions for reporting and data visualization. Open source under the MIT license.

Solutions

  • All solutions
  • TerraFluent.Pdf.Reporting
  • TerraFluent.Html.Reporting
  • TerraFluent.Docx.Reporting
  • TerraFluent.Chart.Reporting
  • Getting started
  • Samples
  • Compare

Source & packages

  • Pdf.Reporting on GitHub
  • Html.Reporting on GitHub
  • Docx.Reporting on GitHub
  • Chart.Reporting on GitHub
  • Pdf.Reporting on NuGet
  • Html.Reporting on NuGet
  • Docx.Reporting on NuGet
  • Chart.Reporting on NuGet

Docs

  • Documentation
  • PDF Reporting docs
  • HTML Reporting docs
  • DOCX Reporting docs
  • Chart Reporting docs
  • Live sample reports
  • Live chart showcase

Project

  • Enterprise guide
  • Support
  • Security policy
  • Releases & versioning
  • Privacy

© 2026 TerraFluent. MIT licensed — free for personal, commercial, and open-source use.