TerraFluent.Chart.Reporting

Column Range Chart in C#

Draw floating low-high column ranges in C# with AddColumnRange and RangePoint — temperature and spread charts as self-contained SVG. Zero dependencies.

Column Range

AddColumnRange() — each category spans from low to high.

Column Range — Monthly Temperature Range (°C) — AddColumnRange() — each bar spans from monthly low to high. Column Range — Monthly Temperature Range (°C) — AddColumnRange() — each bar spans from monthly low to high. — Series: London. Categories: Jan to Dec. Column Range — Monthly Temperature Range (°C) AddColumnRange() — each bar spans from monthly low to high. -10° 10° 20° 30° 40° Temperature (°C) Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Month London: 2–8: 5 London: 2–9: 5.5 London: 4–13: 8.5 London: 6–16: 11 London: 9–20: 14.5 London: 12–23: 17.5 London: 14–26: 20 London: 14–25: 19.5 London: 11–21: 16 London: 8–17: 12.5 London: 5–12: 8.5 London: 3–9: 6 London terrafluent.dev terrafluent.dev

When to use a column range chart

Reach for it when

  • A minimum and maximum per category — daily temperature range, price range, min/max latency.
  • Spreads where the gap itself is the message, not either endpoint alone.
  • Comparing the width of a range across categories.

Use something else when

  • Data with a meaningful zero baseline you want compared; a floating bar deliberately hides the distance to zero.
  • Distributions where the quartiles matter — use a box plot, which shows shape as well as extent.
  • Uncertainty around a central estimate; use an error bar, which draws the estimate too.

Column Range Chart in C#

Lifted verbatim from the chart types reference, so it compiles against the shipped API. See the API reference for every overload and the exact data types each series method accepts.

using TerraFluent.Chart.Reporting.Models;

string svg = ChartBuilder.Create()
    .Title("Monthly Temperature Range (°C)")
    .Size(700, 400)
    .XAxis("Month",
        "Jan","Feb","Mar","Apr","May","Jun",
        "Jul","Aug","Sep","Oct","Nov","Dec")
    .YAxis(y => { y.Title = "Temperature (°C)"; y.Min = -10; y.Max = 40; y.LabelFormat = "{value}°"; })
    .AsAnimated()
    .Series(s => s
        .AddColumnRange("London",
            new[]
            {
                new RangePoint( 2,  8), new RangePoint( 2,  9), new RangePoint( 4, 13),
                new RangePoint( 6, 16), new RangePoint( 9, 20), new RangePoint(12, 23),
                new RangePoint(14, 26), new RangePoint(14, 25), new RangePoint(11, 21),
                new RangePoint( 8, 17), new RangePoint( 5, 12), new RangePoint( 3,  9),
            },
            cfg => cfg.Color(ChartColor.ChartBlue)))
    .RenderToSvg();

Install

dotnet add package TerraFluent.Chart.Reporting
  • MIT licensed — free for commercial use, no chart limits, no watermarks.
  • Zero dependencies — nothing but the .NET base class library.
  • netstandard2.0 through net10.0 — .NET Framework 4.6.1+, .NET Core 2.0+, and every modern release.
  • Output is one SVG string — embed it in HTML, a PDF, or a Word document.