MatPlotLibNet.Wpf 1.23.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package MatPlotLibNet.Wpf --version 1.23.0
                    
NuGet\Install-Package MatPlotLibNet.Wpf -Version 1.23.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MatPlotLibNet.Wpf" Version="1.23.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MatPlotLibNet.Wpf" Version="1.23.0" />
                    
Directory.Packages.props
<PackageReference Include="MatPlotLibNet.Wpf" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MatPlotLibNet.Wpf --version 1.23.0
                    
#r "nuget: MatPlotLibNet.Wpf, 1.23.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MatPlotLibNet.Wpf@1.23.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MatPlotLibNet.Wpf&version=1.23.0
                    
Install as a Cake Addin
#tool nuget:?package=MatPlotLibNet.Wpf&version=1.23.0
                    
Install as a Cake Tool

MatPlotLibNet.Wpf

MatPlotLibNet.Wpf is a WPF chart control for MatPlotLibNet. It renders charts natively with SkiaSharp.

Requirements

The package targets net8.0-windows10.0.19041.0, because SkiaSharp.Views.WPF ships no WPF view for a lower Windows platform version. A project on a bare net8.0-windows, net9.0-windows or net10.0-windows has platform version 7.0 and fails to restore with NU1202. Name the version in your own project file:

<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>

The same works for net9.0- and net10.0-windows10.0.19041.0.

Quick Start

<wpf:MplChartControl Figure="{Binding MyFigure}" IsInteractive="True" />

Live data

For a chart that keeps changing, bind a StreamingFigure to MplStreamingChartControl instead. It listens to the figure and redraws itself when data arrives, so the figure stays the same object for the life of the chart:

<wpf:MplStreamingChartControl StreamingFigure="{Binding LiveChart}" />

Interaction

Set IsInteractive="True" and the chart control handles all 15 interaction modifiers: pan (drag), zoom (scroll), 3D rotation (right-drag), rectangle zoom (Ctrl+drag), brush select (Shift+drag), span select (Alt+drag), legend toggle (click), reset (double-click, Home or Escape), data cursor (click on a point to pin it), the trendline, level and Fibonacci drawing tools, removing a selected drawing (Delete), crosshair (passive) and hover tooltip. Pointer positions are converted with the range and scale the chart is drawn with, on log and symlog axes too.

Clicking a data point raises DataPointClicked with the point's position in the arrays you plotted; on a StateTimelineSeries it is the segment's position in the list you passed, and hovering a segment shows the event and the stretch it covers. A timeline pans and zooms along time only, and stacked timelines that share one time axis (ShareX) move together. The complete window, with a click that seeks and a marker that follows playback, is State timeline in WPF. To move a line while the chart is on screen, such as a playback marker, change its ReferenceLine.Value and call InvalidateVisual() on the control. When you hand the control a different Figure, pan and zoom follow the new one.

Product Compatible and additional computed target framework versions.
.NET net8.0-windows10.0.19041 is compatible.  net9.0-windows was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.27.0 0 10/30/2026
1.26.0 39 10/30/2026
1.25.0 46 10/29/2026
1.24.0 52 10/29/2026
1.23.0 62 10/27/2026
1.22.0 105 10/24/2026
1.21.0 97 10/23/2026
1.20.0 93 10/22/2026
1.19.0 96 10/21/2026
1.18.2 103 10/18/2026
1.18.1 100 10/12/2026
1.18.0 127 9/23/2026
1.17.1 114 9/13/2026
1.17.0 115 9/12/2026
1.16.0 115 9/12/2026
1.15.1 117 9/12/2026
1.15.0 113 9/11/2026
1.14.4 113 9/11/2026
1.14.3 127 8/30/2026
1.14.2 133 8/17/2026
Loading failed

MatPlotLibNet 1.23.0. What changed in this release, and in every release before it, is written out in the changelog: https://github.com/xkqg/MatPlotLibNet/blob/main/CHANGELOG.md#1230