
Built this because I was working on a C# trading system and the existing
options didn't fit. ScottPlot/OxyPlot are great desktop renderers, Plotly.NET
emits JavaScript, SciChart/Syncfusion are paid. I wanted server-rendered
SVG that pushes to any client (Blazor, Avalonia, MAUI, terminal, notebook)
with built-in trading indicators.
**What it is**: 78 series types (line, scatter, bar, financial, statistical,
3D, streaming, polar, hierarchical, Sankey, vector, network graph), 52
indicators (classical + modern microstructure + information-theoretic), 26
themes, 13 map projections, LaTeX-style MathText, frame-based animation
with easing curves, native controls via SkiaSharp.
**Output**: SVG (built-in, zero deps), PNG/PDF/animated GIF (SkiaSharp opt-in),
JSON for hydration.
**v1.10.0 highlight** — the Pair-Selection Visualisation Pack:
- `PairGridSeries` — N×N scatter matrix (seaborn pairplot)
- `ClustermapSeries` — heatmap + row/column dendrograms
- `DendrogramSeries` with cut-height recolouring
- `NetworkGraphSeries` — four layouts including Fruchterman-Reingold
- Hexbin off-diagonals for high-cardinality EDA
```csharp
df.PairGrid(["btc", "eth", "sol"], hue: "regime").Build();
Plt.Create()
.NetworkGraph(nodes, edges, s => s.Layout = GraphLayout.ForceDirected)
.ToSvg();
MIT, .NET 10 / .NET 8.
- Repo: https://github.com/xkqg/MatPlotLibNet
- Playground (try in browser): https://xkqg.github.io/MatPlotLibNet/playground/
- Cookbook: https://xkqg.github.io/MatPlotLibNet/cookbook/
- NuGet: https://www.nuget.org/profiles/xkqg
Feedback welcome — open an Issue or Discussion.