Avalonia Charts: Data Visualization That Belongs in AvaloniaNews

Avalonia Charts: Data Visualization That Belongs in Avalonia

Today we are releasing Avalonia Charts, a comprehensive charting library built specifically for Avalonia applications.

Why Charts Are Part of the Product

Good software does more than accept input and store data. It helps people understand what is happening, what changed, what is drifting, and what needs attention before they have to dig through logs or exported reports.

Most users do not make decisions from raw values. They make decisions from patterns. A manufacturing team needs to see a temperature trend before it becomes a fault. A finance team needs to spot a revenue shift before the quarterly report is finished. A support team needs to see an incident spike while it is still happening. A product team needs to understand where users drop out of a flow without reading thousands of rows of event data.

Charts are how applications create that feedback loop. In many products, they are the interface to the most important data in the system.

What Avalonia Charts Is

Avalonia Charts is a native charting library covering more than 70 chart types across 22 categories, with 32 series types and four axis types.

The core set covers what most applications need: Cartesian charts, line, bar, and area charts, scatter and bubble charts, pie and donut charts, gauges, heatmaps, financial charts, dashboard components, maps, polar charts, and comparison charts. For more specialized requirements, the library also includes chord diagrams, alluvial charts, treemaps, dendrograms, calendar heatmaps, swimlanes, network charts, word clouds, statistical plots, and financial types including Heikin-Ashi, Kagi, Renko, and Point and Figure. Series types cover the expected (line, bar, area, bubble, histogram, box plot) and the less obvious ones that professional applications regularly need: waterfall, lollipop, dot plot, stream graph, and error bar. The full list is in the documentation.

That breadth reflects the way real Avalonia applications are built. A product may ship a revenue dashboard today, add a diagnostic heatmap the next quarter, and need a timeline or Gantt view after that. The library is designed to cover all those requirements.

Cartesian charts sample

Built for Avalonia

Avalonia Charts is built on the same foundations as the framework itself: the same rendering pipeline, layout system, text measurement, and theming model. It binds, styles, and behaves exactly like any other Avalonia control, because it is one. That matters because charting controls have a demanding job. They redraw under interaction, respond to live data, rotate dense label sets, and export to files, and they have to do all of that consistently across every platform Avalonia supports.

Avalonia is used in a wide range of serious professional applications, and they do not all visualize data the same way. A trading desk needs something very different from a factory floor monitoring system, which needs something very different from a project planning tool or a product analytics dashboard. Telemetry systems need map layers and real-time streams. Financial platforms need candlesticks, technical overlays, and dense time-series views. Engineering workstations need gauges, diagnostic heatmaps, and trend lines.

Avalonia Charts covers that range in a single library, on every platform, behaving like the rest of the framework throughout.

Key Capabilities

Axes, Scales, and Layout

Real-world data rarely fits neatly on a single axis with clean label spacing. Avalonia Charts handles the cases that actually come up: mixed scales with dual axes, logarithmic and date/time ranges alongside categorical ones, and dense datasets where axis labels would otherwise collide. That last case the library resolves automatically. Plot bands, scale breaks, and gridline control give enough layout flexibility that the chart can reflect the structure of the data rather than forcing the data into a fixed visual template.

Interactivity

Users do not just look at charts. They inspect specific points, compare values, zoom into periods of interest, filter by legend, and export what they see for a report or a presentation. Avalonia Charts is built around that reality: selection, tooltips, crosshairs, trackball, zoom and pan, range selection, and legend interaction are all standard behavior, not add-ons.

For applications feeding live data, updates are handled efficiently without manual intervention. And when the chart needs to leave the screen entirely, high-resolution PNG and JPEG export covers standard reporting, while stream export handles server-side and headless pipelines.

Analytics

Data rarely speaks for itself. Trendlines, moving averages, annotations, and technical indicators give charts the analytical context that turns a plotted series into something a user can act on. Avalonia Charts includes all of these as part of the library, layered directly onto any chart without a separate control or custom rendering code.

Zoom and pan sample

Trackball sample

Financial and Specialized Charts

For the applications that need them, the library includes specialized charts.

Financial applications have a specific problem: the same price data looks different depending on what question a trader or analyst is trying to answer. Raw session data, smoothed trends, and pure price movement without the noise of time are three different views of the same underlying series, and each one reveals something the others obscure. That is why Heikin-Ashi, Kagi, Renko, and Point and Figure exist alongside candlestick and OHLC rather than replacing them. Technical overlays work the same way: a moving average or an RSI panel is part of reading a financial chart, not a separate analytical tool sitting next to it, and Avalonia Charts treats it that way.

Engineering, scientific, and quality control applications often need to understand how data is distributed, not just what it averages to. A mean hides outliers. A trend line hides variance. Box plots, histograms, error bars, and dot plots are the charts that show what is actually happening across a dataset rather than smoothing it into a single value, which is why they matter in any application where measurement reliability or process variation is part of what users are working with.

Product, analytics, and business intelligence teams frequently need to show how things move through a system rather than how they accumulate over time. Where does volume come from, where does it go, and where does it drop off? Sankey and alluvial charts answer the first question. Funnel charts answer the second. Chord diagrams show the relationships between categories. Treemaps and dendrograms reveal composition and hierarchy. Waterfall charts make incremental contributions to a total readable at a glance. These are the charts that business reporting reaches for when a line chart cannot capture the shape of what happened.

Geographic data is rarely just about location. A map that only shows where something is tells a fraction of the story. Choropleth fills add a quantitative dimension across regions. Bubble and heatmap layers add density and intensity. Combining them means a single view can carry multiple dimensions of data at once, which is what telemetry dashboards, logistics tools, and infrastructure monitoring systems actually need. GeoJSON support means the geographic boundaries can be whatever the application requires rather than what a predefined region set allows.

Planning and scheduling tools have a different challenge: the primary thing users need to understand is not a value but a structure. What is happening, in what order, for how long, and who is responsible for it. Gantt charts and swimlanes communicate that structure directly. Calendar heatmaps show how activity distributes across time at a glance. These are not charts about measuring something but about making the shape of work visible.

Financial charts sample

Map charts sample

Flow charts sample

Charts and AI Workflows

We are shipping an Avalonia Charts MCP server alongside the library.

The MCP server exposes chart generation tools that AI coding assistants can call directly inside a development workflow. It understands Avalonia Charts' full API, covering series types, axis configurations, palettes, and interactivity options, and returns working C# and XAML alongside a rendered preview.

That means a developer can describe what they want to communicate, whether that is a revenue breakdown, a funnel, a candlestick chart for a given date range, or a compact diagnostic dashboard, and the assistant produces accurate, runnable Avalonia Charts code rather than a generic description of what a chart might look like. The rendered preview comes back in the same turn, so the iteration loop is tight: describe, generate, inspect, refine.

AI assistants are only useful in a development workflow when they understand the framework deeply enough to produce correct code. Charts are a natural fit for that model because the gap between knowing what you want to show and knowing the exact API call to produce it is precisely where AI assistance has the most leverage.

Avalonia Charts MCP showcase

Availability and Licensing

Avalonia Charts is included with Avalonia's Pro subscription tier. You can see the current plans on the Avalonia pricing page.

Get Started

Install the package:

dotnet add package Avalonia.Controls.Charts

Add the chart theme:

<Application.Styles>
    <FluentTheme />
    <StyleInclude Source="avares://Avalonia.Controls.Charts/Themes/Default.axaml" />
</Application.Styles>

Then add a chart like any other Avalonia control:

<UserControl xmlns="https://github.com/avaloniaui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:charts="https://avaloniaui.net/controls/charts">
    <charts:CartesianChart Title="Quarterly Revenue"
                           Height="280"
                           ShowLegend="True">
        <charts:CartesianChart.HorizontalAxis>
            <charts:CategoryAxis />
        </charts:CartesianChart.HorizontalAxis>

        <charts:CartesianChart.VerticalAxis>
            <charts:NumericalAxis LabelFormat="C0" />
        </charts:CartesianChart.VerticalAxis>

        <charts:CartesianChart.Series>
            <charts:BarSeries Title="Revenue"
                              ItemsSource="{Binding Revenue}"
                              CategoryPath="Quarter"
                              ValuePath="Amount"
                              Fill="SteelBlue" />
        </charts:CartesianChart.Series>
    </charts:CartesianChart>
</UserControl>

And bind it to ordinary view model data:

public sealed class SalesViewModel
{
    public IReadOnlyList<SalesPoint> Revenue { get; } =
    [
        new("Q1", 125000),
        new("Q2", 148000),
        new("Q3", 171000),
        new("Q4", 193000)
    ];
}

public sealed record SalesPoint(string Quarter, double Amount);

The full documentation, sample gallery, and MCP server setup guide are available in the Avalonia Charts docs.

Avalonia applications handle demanding requirements across every platform. Now they have the charts to match.