MatPlotLibNet.Notebooks
1.0.0
dotnet add package MatPlotLibNet.Notebooks --version 1.0.0
NuGet\Install-Package MatPlotLibNet.Notebooks -Version 1.0.0
<PackageReference Include="MatPlotLibNet.Notebooks" Version="1.0.0" />
<PackageVersion Include="MatPlotLibNet.Notebooks" Version="1.0.0" />
<PackageReference Include="MatPlotLibNet.Notebooks" />
paket add MatPlotLibNet.Notebooks --version 1.0.0
#r "nuget: MatPlotLibNet.Notebooks, 1.0.0"
#:package MatPlotLibNet.Notebooks@1.0.0
#addin nuget:?package=MatPlotLibNet.Notebooks&version=1.0.0
#tool nuget:?package=MatPlotLibNet.Notebooks&version=1.0.0
MatPlotLibNet
A .NET 10 / .NET 8 charting library inspired by matplotlib. Fluent API, dependency injection, parallel SVG rendering, polymorphic export (SVG / PNG / PDF / GIF), and multi-platform output to Blazor, MAUI, ASP.NET Core, Angular, React, and Vue.
Packages
| Package | Install | What it does |
|---|---|---|
| MatPlotLibNet | dotnet add package MatPlotLibNet |
Core: models, fluent API, SVG rendering, JSON, transforms |
| MatPlotLibNet.Skia | dotnet add package MatPlotLibNet.Skia |
PNG, PDF, and animated GIF export via SkiaSharp |
| MatPlotLibNet.Blazor | dotnet add package MatPlotLibNet.Blazor |
MplChart + MplLiveChart Razor components with SignalR |
| MatPlotLibNet.AspNetCore | dotnet add package MatPlotLibNet.AspNetCore |
REST endpoints, SignalR hub, IChartPublisher |
| MatPlotLibNet.Interactive | dotnet add package MatPlotLibNet.Interactive |
figure.ShowAsync() — browser popup, no server needed |
| MatPlotLibNet.GraphQL | dotnet add package MatPlotLibNet.GraphQL |
GraphQL queries + subscriptions via HotChocolate |
| MatPlotLibNet.Maui | dotnet add package MatPlotLibNet.Maui |
Native MplChartView via Microsoft.Maui.Graphics |
| MatPlotLibNet.Notebooks | #r "nuget: MatPlotLibNet.Notebooks" |
Inline SVG in Polyglot / Jupyter notebooks |
| @matplotlibnet/angular | npm install @matplotlibnet/angular |
Angular components + TypeScript SignalR client |
| @matplotlibnet/react | npm install @matplotlibnet/react |
React hooks + components + TypeScript SignalR client |
| @matplotlibnet/vue | npm install @matplotlibnet/vue |
Vue 3 composables + TypeScript SignalR client |
Quick start
using MatPlotLibNet;
using MatPlotLibNet.Styling;
double[] x = [1, 2, 3, 4, 5];
double[] y = [2, 4, 3, 5, 1];
Plt.Create()
.WithTitle("My First Chart")
.WithTheme(Theme.Dark)
.Plot(x, y, s => { s.Color = Color.Blue; s.Label = "Data"; })
.WithLegend()
.Save("chart.svg");
62 series types — line, scatter, bar, histogram, pie, box, violin, heatmap, contour, candlestick, OHLC, treemap, sunburst, Sankey, polar, 3D surface, radar, waterfall, funnel, gauge, and more.
Geo / Map Projections — MapSeries renders GeoJSON polygons and lines using equirectangular or Mercator projection; ChoroplethSeries fills each feature by data value via colormap; GeoJsonReader / GeoJsonWriter for round-trip GeoJSON support.
Accessibility — SVG exports carry role="img", <title>/<desc>, and ARIA labels on all structural groups; all 5 interactive JS features are keyboard-navigable; Okabe-Ito color-blind safe palette (Theme.ColorBlindSafe); WCAG AAA high-contrast theme (Theme.HighContrast).
Matplotlib look-alike themes — Theme.MatplotlibClassic mimics matplotlib's pre-2.0 default (white background, the iconic bgrcmyk cycle, DejaVu Sans 12pt). Theme.MatplotlibV2 mimics the modern matplotlib default since 2017 (white background, soft-black text, the tab10 10-color cycle, DejaVu Sans 10pt). Drop-in matplotlib look in pure .NET — no Python runtime required.
Series capability interfaces — IHasColor, IHasAlpha, IHasEdgeColor, ILabelable allow polymorphic access to common series properties without casting; enables generic theming and rendering utilities.
DataFrame indicator + regression bridges — MatPlotLibNet.DataFrame now includes DataFrameIndicatorExtensions (16 methods: SMA, EMA, RSI, Bollinger, OBV, MACD, DrawDown, ADX, ATR, CCI, WilliamsR, Stochastic, ParabolicSar, KeltnerChannels, VWAP) and DataFrameNumericsExtensions (PolyFit, PolyEval, ConfidenceBand) — compute indicators and polynomial regressions directly from named DataFrame columns.
Documentation
Full documentation is on the GitHub Wiki:
- Getting Started — installation, output formats, subplots
- Package Map — all packages in detail
- Notebooks — Polyglot Notebooks + Jupyter inline rendering
- Chart Types — all 62 series with examples
- Geo / Map Projections — map projections, GeoJSON, MapSeries, ChoroplethSeries
- Styling — themes, colormaps, PropCycler
- Matplotlib Themes —
Theme.MatplotlibClassicandTheme.MatplotlibV2look-alikes - Accessibility — SVG semantics, keyboard navigation, color-blind palette, high-contrast theme
- Advanced — date axes, math text, animations, GIF, real-time
- Benchmarks — SVG rendering, SIMD transforms, indicators
- Roadmap — version history and planned phases
- Contributing — build, test, coding conventions
License
LGPL-3.0 — free for closed-source commercial use as a library dependency.
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- MatPlotLibNet (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.