The WPF Charts control is optimized to visualize a large amount of data in an elegant way. Its rich feature set includes functionalities like data binding, multiple axes, legends, animations, data labels, annotations, trackballs, tooltips, gradients, technical indicators, and zooming.
The WPF Chart control uses different types of graphs to display information in a meaningful way.
Make WPF graphs look more appealing with smooth transitions of data.
Fine-tuned Charts for rendering more than 100k data in less than a second.
The WPF live charts can be printed and exported to image formats like JPEG or JPG, JPG-XR, GIF, PNG, BMP, and TIFF.
Any static text in the Syncfusion Charts control can be localized to any supported language.
Convert the series and data point properties to XML format with serialization concepts. Accomplish the reverse process with de-serialization support.
The Charts in WPF is compatible with Coded UI and UFT (formerly QTP) automation tools.
The WPF Charts control contains several data storage and rendering optimizations to achieve the best possible performance when plotting large volumes of data as well as handling high-frequency, real-time updates.
In less than a second, more than 100k data points can be rendered.
WPF Charts can seamlessly handle quick updates while maintaining excellent refresh rates.
WPF Charts with rich UI provide a smooth and responsive zooming experience on both touch and mouse-enabled interfaces.
The WPF Charts control contains 45+ popular 2D chart types. Each chart type is easily configurable with the built-in support for creating stunning visual effects.
WPF Charts provide 10+ 3D chart types. Control how a chart is displayed with 3D type, angle, depth, and zoom.
WPF Charts contain a special chart type called fast chart that renders a large number of data points quickly.
Data points can easily be annotated with labels to improve the readability of data in WPF Charts. Readability can be further enhanced by adding markers or customizable symbols.
Data points can easily be annotated with labels to help improve the readability of data.
Mark the data points with the available built-in shapes.
Pie and doughnut data labels are smartly arranged to avoid intersection when there are large amounts of data.
The WPF Charts control supports four types of axes: numerical, categorical, date-time, and logarithmic. The appearance of all chart axis elements can be customized with built-in properties.
The end-user experience is greatly enhanced by a set of user-interaction features: crosshair, data editing, zooming tool bar, zooming, panning, trackball, selection, and tooltip.
Legends in WPF custom charts provide additional information helpful in identifying individual series in a chart. They can be docked to the left, right, top, or bottom positions around the chart area.
Apply a data template to a legend item. This helps show more information about a series or data point in a legend.
Position the legend anywhere in the chart area to best fit the page.
Display the legend items in multiple rows when several series are loaded in a single chart. Add a desired pane for arranging the legends.
Annotations display metadata about a chart or series at a specific point of interest in the plotting area.
All the basic annotation elements like lines, text, and arrows are available.
Text can be edited interactively.
Annotations can be resized and dragged across the plot area.
Render linear, exponential, logarithmic, power, and polynomial trendlines.
The WPF Charts control features built-in support for RSI, momentum, Bollinger bands, accumulation distribution, EMA, SMA, stochastic, ATR, MACD, and TMA indicators.
The WPF Charts control provides more than 10 built-in palettes. Custom palettes can also be created as needed.
Easily get started with the WPF Charts using a few simple lines of XAML, VB.NET, and C# code example as demonstrated below. Also explore our WPF Charts Example that shows you how to render and configure the XAML charts.
<Window x:Class="Sample_WPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Sample_WPF"
xmlns:syncfusion="clr-namespace:Syncfusion.UI.Xaml.Charts;assembly=Syncfusion.SfChart.WPF"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<!--Setting DataContext for SfChart-->
<Window.DataContext>
<local:ViewModel/>
</Window.DataContext>
<Grid>
<syncfusion:SfChart Header="Chart" Height="300" Width="500">
<!--Initialize the horizontal axis for SfChart-->
<syncfusion:SfChart.PrimaryAxis>
<syncfusion:CategoryAxis Header="Name" FontSize="14"/>
</syncfusion:SfChart.PrimaryAxis>
<!--Initialize the vertical axis for SfChart-->
<syncfusion:SfChart.SecondaryAxis>
<syncfusion:NumericalAxis Header="Height(in cm)" FontSize="14"/>
</syncfusion:SfChart.SecondaryAxis>
<!--Adding Legend to the SfChart-->
<syncfusion:SfChart.Legend>
<syncfusion:ChartLegend/>
</syncfusion:SfChart.Legend>
<!--Initialize the series for SfChart-->
<syncfusion:ColumnSeries Label="Heights" ItemsSource="{Binding Data}" XBindingPath="Name" YBindingPath="Height" ShowTooltip="True" >
<syncfusion:ColumnSeries.AdornmentsInfo>
<syncfusion:ChartAdornmentInfo ShowLabel="True" >
</syncfusion:ChartAdornmentInfo>
</syncfusion:ColumnSeries.AdornmentsInfo>
</syncfusion:ColumnSeries>
</syncfusion:SfChart>
</Grid>
</Window>
Imports Syncfusion.UI.Xaml.Charts
Partial Public Class MainWindow
Inherits Window
Public Sub New()
InitializeComponent()
Dim chart As New SfChart()
chart.Header = "Chart"
chart.Height = 300
chart.Width = 500
'Adding horizontal axis to the chart
Dim primaryAxis As New CategoryAxis()
primaryAxis.Header = "Name"
primaryAxis.FontSize = 14
chart.PrimaryAxis = primaryAxis
'Adding vertical axis to the chart
Dim secondaryAxis As New NumericalAxis()
secondaryAxis.Header = "Height(in cm)"
secondaryAxis.FontSize = 14
chart.SecondaryAxis = secondaryAxis
'Adding Legends for the chart
Dim legend As New ChartLegend()
chart.Legend = legend
'Initializing column series
Dim series As New ColumnSeries()
series.ItemsSource = New ViewModel().Data
series.XBindingPath = "Name"
series.YBindingPath = "Height"
series.Label = "Heights"
series.ShowTooltip = True
'Setting adornment to the chart series
series.AdornmentsInfo = New ChartAdornmentInfo() With {.ShowLabel = True}
'Adding Series to the Chart Series Collection
chart.Series.Add(series)
Me.Content = chart
End Sub
End Class
using Syncfusion.UI.Xaml.Charts;
namespace ChartDemo
{
public sealed partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
SfChart chart = new SfChart() { Header = "Chart", Height = 300, Width = 500 };
//Adding horizontal axis to the chart
CategoryAxis primaryAxis = new CategoryAxis();
primaryAxis.Header = "Name";
primaryAxis.FontSize = 14;
chart.PrimaryAxis = primaryAxis;
//Adding vertical axis to the chart
NumericalAxis secondaryAxis = new NumericalAxis();
secondaryAxis.Header = "Height(in cm)";
secondaryAxis.FontSize = 14;
chart.SecondaryAxis = secondaryAxis;
//Adding Legends for the chart
ChartLegend legend = new ChartLegend();
chart.Legend = legend;
//Initializing column series
ColumnSeries series = new ColumnSeries();
series.ItemsSource = (new ViewModel()).Data;
series.XBindingPath = "Name";
series.YBindingPath = "Height";
series.ShowTooltip = true;
series.Label = "Heights";
//Setting adornment to the chart series
series.AdornmentsInfo = new ChartAdornmentInfo() { ShowLabel = true };
//Adding Series to the Chart Series Collection
chart.Series.Add(series);
this.Content = chart;
}
}
}
The Syncfusion WPF Charts supports the following features:
No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue, 5 or fewer developers, and 10 or fewer total employees.
A good place to start would be our comprehensive getting started documentation.
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.