MatPlotLibNet.Wpf
1.21.0
See the version list below for details.
dotnet add package MatPlotLibNet.Wpf --version 1.21.0
NuGet\Install-Package MatPlotLibNet.Wpf -Version 1.21.0
<PackageReference Include="MatPlotLibNet.Wpf" Version="1.21.0" />
<PackageVersion Include="MatPlotLibNet.Wpf" Version="1.21.0" />
<PackageReference Include="MatPlotLibNet.Wpf" />
paket add MatPlotLibNet.Wpf --version 1.21.0
#r "nuget: MatPlotLibNet.Wpf, 1.21.0"
#:package MatPlotLibNet.Wpf@1.21.0
#addin nuget:?package=MatPlotLibNet.Wpf&version=1.21.0
#tool nuget:?package=MatPlotLibNet.Wpf&version=1.21.0
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 | Versions 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. |
-
net8.0-windows10.0.19041
- MatPlotLibNet.Skia (>= 1.21.0)
- SkiaSharp.Views.WPF (>= 3.119.2)
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 |
MatPlotLibNet 1.21.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#1210