CodeBrix.Plotter.MitLicenseForever 1.0.278.1156

dotnet add package CodeBrix.Plotter.MitLicenseForever --version 1.0.278.1156
                    
NuGet\Install-Package CodeBrix.Plotter.MitLicenseForever -Version 1.0.278.1156
                    
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="CodeBrix.Plotter.MitLicenseForever" Version="1.0.278.1156" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CodeBrix.Plotter.MitLicenseForever" Version="1.0.278.1156" />
                    
Directory.Packages.props
<PackageReference Include="CodeBrix.Plotter.MitLicenseForever" />
                    
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 CodeBrix.Plotter.MitLicenseForever --version 1.0.278.1156
                    
#r "nuget: CodeBrix.Plotter.MitLicenseForever, 1.0.278.1156"
                    
#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 CodeBrix.Plotter.MitLicenseForever@1.0.278.1156
                    
#: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=CodeBrix.Plotter.MitLicenseForever&version=1.0.278.1156
                    
Install as a Cake Addin
#tool nuget:?package=CodeBrix.Plotter.MitLicenseForever&version=1.0.278.1156
                    
Install as a Cake Tool

CodeBrix.Plotter

A fully managed, cross-platform plotting library for .NET that draws charts, graphs and plots onto a SkiaSharp canvas. You describe a plot as a PlotModel — axes, series, annotations, legends — and CodeBrix.Plotter renders it, either straight onto an SKCanvas you already have or into a PNG, JPEG, PDF or SVG file. CodeBrix.Plotter is provided as a .NET 10 library and associated CodeBrix.Plotter.MitLicenseForever NuGet package.

CodeBrix.Plotter supports applications and assemblies that target Microsoft .NET version 10.0 and later. Microsoft .NET version 10.0 is a Long-Term Supported (LTS) version of .NET, and was released on Nov 11, 2025; and will be actively supported by Microsoft until Nov 14, 2028. Please update your C#/.NET code and projects to the latest LTS version of Microsoft .NET.

Installation

dotnet add package CodeBrix.Plotter.MitLicenseForever

Note that the NuGet package ID and the namespace are different - there is no package named plain CodeBrix.Plotter:

  • NuGet package ID: CodeBrix.Plotter.MitLicenseForever
  • Assembly and primary namespace: CodeBrix.Plotter - i.e. using CodeBrix.Plotter;

XML documentation (IntelliSense) ships alongside the assembly.

The package pulls in the following automatically; no version pinning is needed in the consuming project:

  • SkiaSharp - the rendering engine
  • SkiaSharp.HarfBuzz - text shaping for complex scripts

Both are matched to the versions used by the rest of the CodeBrix family.

SkiaSharp is taken as a managed-only dependency, so that a consuming application chooses the native asset package matching its own target platform. The Windows and macOS native assets arrive transitively; a Linux application must add them itself:

dotnet add package SkiaSharp.NativeAssets.Linux
dotnet add package HarfBuzzSharp.NativeAssets.Linux

Without those, a Linux build still compiles and then fails at run time on the first render with a native-library load error.

CodeBrix.Plotter supports:

  • A broad set of series types — line, area, bar, linear bar, interval bar, scatter, stem, stair-step, pie, heat map, contour, candlestick, box plot, error bar, histogram, rectangle, vector, tornado, volume, high/low, two-colour, three-colour and extrapolation variants
  • Axis types — linear, logarithmic, date/time, time span, category, angle, magnitude, colour and range-colour axes, with full control over ticks, gridlines, formatting and zoom/pan limits
  • Annotations — text, arrow, line, function, rectangle, ellipse, point, polygon, polyline, image and tile-map annotations
  • Legends — placement inside or outside the plot area, multi-column layouts, item ordering and custom symbol rendering
  • Rendering to a SkiaSharp canvas — SkiaRenderContext implements IRenderContext against any SKCanvas, so a plot can be drawn into whatever surface your application already owns
  • Exporting — PNG, JPEG, PDF and SVG exporters built on SkiaSharp, plus a built-in dependency-free SVG writer
  • Text shaping — complex scripts are shaped through SkiaSharp.HarfBuzz
  • An input and controller model — mouse, touch and keyboard gestures bound to pan, zoom, tracker and reset commands (by default touch drags to pan, pinches to zoom, and taps or holds to show the tracker), ready to be wired to a host UI framework
  • Image decoding — built-in PNG and BMP decoders and a PNG encoder, with no third-party imaging dependency

Sample Code

Building a plot and exporting it to a PNG file

using System.IO;
using CodeBrix.Plotter;
using CodeBrix.Plotter.Axes;
using CodeBrix.Plotter.Series;
using CodeBrix.Plotter.Skia;

var model = new PlotModel { Title = "Trigonometric functions" };
model.Axes.Add(new LinearAxis { Position = AxisPosition.Bottom, Title = "x" });
model.Axes.Add(new LinearAxis { Position = AxisPosition.Left, Title = "y" });

model.Series.Add(new FunctionSeries(Math.Sin, -10, 10, 0.05, "sin(x)"));
model.Series.Add(new FunctionSeries(Math.Cos, -10, 10, 0.05, "cos(x)")
{
    Color = PlotterColors.IndianRed,
});

var exporter = new PngExporter { Width = 800, Height = 480 };
using var stream = File.Create("trig.png");
exporter.Export(model, stream);

Rendering onto an SKCanvas you already have

using CodeBrix.Plotter;
using CodeBrix.Plotter.Skia;
using SkiaSharp;

public void DrawPlot(SKCanvas canvas, PlotModel model, int width, int height)
{
    using var renderContext = new SkiaRenderContext
    {
        RenderTarget = RenderTarget.Screen,
        SkCanvas = canvas,
    };

    ((IPlotModel)model).Update(true);
    ((IPlotModel)model).Render(renderContext, new PlotterRect(0, 0, width, height));
}

Adding data series from your own objects

using CodeBrix.Plotter;
using CodeBrix.Plotter.Series;

var series = new LineSeries
{
    Title = "Measurements",
    MarkerType = MarkerType.Circle,
    MarkerSize = 3,
};

foreach (var reading in readings)
{
    series.Points.Add(new DataPoint(reading.Time, reading.Value));
}

model.Series.Add(series);

Documentation

The NuGet package includes AGENT-README.txt, a complete API reference and usage guide written for AI coding agents - point your agent at that file when it is writing code against this library.

Additional sample code and usage examples are available in the CodeBrix.Plotter.Tests project: https://github.com/ellisnet/CodeBrix.Plotter/tree/main/tests/CodeBrix.Plotter.Tests

A complete working application - live oscilloscope traces streamed into a PlotModel and rendered through two different SkiaSharp canvas hosts - is in the PicoScope sample, which has a long-form guide of its own: https://github.com/ellisnet/CodeBrix.Plotter/tree/main/samples/PicoScope

License

CodeBrix.Plotter is licensed under the MIT License - see the LICENSE file.

For licensing and provenance information about the open source code included in this package, see THIRD-PARTY-NOTICES.txt.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos 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 (2)

Showing the top 2 NuGet packages that depend on CodeBrix.Plotter.MitLicenseForever:

Package Downloads
CodeBrix.Platform.PlotterView.ApacheLicenseForever

Adds an interactive chart control for plotting data in your app, with panning, zooming, and a click-to-inspect data tracker built in. Works with mouse, keyboard, and touch input alike. Supports line, bar, scatter, and dozens of other chart types, plus linear, logarithmic, date-time, and category axes.

CodeBrix.Android.PlotterView.ApacheLicenseForever

The PlotterView add-in for CodeBrix.Android applications: the platform-neutral assembly of the CodeBrix.Platform PlotterView add-in and its Android implementation, so code and XAML written against the add-in run unchanged on Android.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.278.1156 105 10/5/2026
1.0.269.1424 118 9/26/2026
1.0.252.1250 132 9/9/2026
1.0.249.1348 112 9/6/2026
1.0.242.1416 112 8/30/2026
1.0.226.286 135 8/14/2026
1.0.226.244 109 8/14/2026