Johnwikix.ScottPlot.Avalonia 5.1.60.3

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

ScottPlot for .NET with full-GPU Direct3D 12 rendering (Johnwikix fork)

A maintained fork of ScottPlot 5 — the free, open-source plotting library for .NET — extended with a Direct3D 12 hardware rendering backend. The plotting API is unchanged from ScottPlot 5.1.60; figures that are CPU-rasterization-bound upstream render many times faster because every frame is produced entirely on the GPU (Skia GPU context, native 4x MSAA, explicit GPU resolve, no raster-surface fallback).

This fork is published under the Johnwikix.* package IDs, so it installs side by side with the official ScottPlot.* packages without conflicts.

Packages

Package Provides
Johnwikix.ScottPlot Core plotting library (MIT, API-compatible with ScottPlot 5)
Johnwikix.ScottPlot.WPF Classic WPF user controls (software Skia rendering)
Johnwikix.ScottPlot.D3D12.Core Full-GPU D3D12 renderer core (framework-agnostic)
Johnwikix.ScottPlot.D3D12 Full-GPU WPF control (D3DImage presentation, native MSAA)
Johnwikix.ScottPlot.D3D12.WinUI Full-GPU WinUI 3 control (SwapChainPanel)
Johnwikix.ScottPlot.D3D12.UWP Full-GPU UWP control (SwapChainPanel)
Johnwikix.ScottPlot.Avalonia Avalonia user control (cross-platform, software Skia rendering)
Johnwikix.ScottPlot.Avalonia.D3D12 Full-GPU D3D12 backend for the Avalonia control (Windows only)

Install

# Full-GPU WPF control (renders the whole figure on the GPU)
dotnet add package Johnwikix.ScottPlot.D3D12

# Full-GPU Avalonia backend (Windows launcher; shared views stay on Johnwikix.ScottPlot.Avalonia)
dotnet add package Johnwikix.ScottPlot.Avalonia.D3D12

# Core library only (software rendering, as upstream)
dotnet add package Johnwikix.ScottPlot

Usage

Each GPU control is a drop-in replacement for its platform's stock ScottPlot control — same Plot API, but every frame is rendered on the GPU.

WPF

<Window ...
        xmlns:spd="clr-namespace:ScottPlot.D3D12;assembly=ScottPlot.D3D12">
    <spd:WpfPlotD3D12 />
</Window>

WinUI 3 and UWP

<Page ...
      xmlns:spd="using:ScottPlot.D3D12.WinUI"> 
    <spd:WinUIPlotD3D12 /> 
</Page>

Avalonia

Shared views reference only Johnwikix.ScottPlot.Avalonia and stay cross-platform:

<UserControl ...
             xmlns:sp="clr-namespace:ScottPlot.Avalonia;assembly=ScottPlot.Avalonia">
    <sp:AvaPlot x:Name="PlotControl" />
</UserControl>

The Windows launcher (on net8.0-windows/net10.0-windows) additionally references Johnwikix.ScottPlot.Avalonia.D3D12, registers the backend at startup, and opts in per control:

using ScottPlot.Avalonia;
using ScottPlot.Avalonia.D3D12;

AppBuilder.Configure<App>().UsePlatformDetect().UseScottPlotD3D12();
PlotControl.RenderBackend = AvaPlotRenderBackend.Direct3D12; // default remains PlatformSkia
await PlotControl.RefreshAsync();

On Linux/macOS the control keeps Avalonia's Skia path; requesting Direct3D12 on another OS reports PlatformNotSupportedException instead of silently falling back. From there the standard ScottPlot API applies to all backends:

PlotControl.Plot.Add.Signal(Generate.Sin(51));

Packages in the Johnwikix.* family depend only on each other — no dependency on the official ScottPlot.* package IDs.

Source code

https://github.com/Johnwikix/ScottPlot (branch d3d12)

Quality assurance

Every release is validated by an end-to-end suite that renders hundreds of scenes across WPF, WinUI 3, and UWP real windows and compares them against the software-Skia baseline (appearance and performance), real-window Avalonia backend validation (DPI scaling, resize, Skia/D3D12 switching, failure recovery), plus hardware D3D12 unit tests.

License

MIT — inherited from upstream ScottPlot.

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

Showing the top 1 NuGet packages that depend on Johnwikix.ScottPlot.Avalonia:

Package Downloads
Johnwikix.ScottPlot.Avalonia.D3D12

Optional hardware D3D12 full-Figure backend for the cross-platform AvaPlot control.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.1.60.3 85 11/2/2026

Stable release of the Johnwikix fork, based on ScottPlot 5.1.60 with full-GPU D3D12 rendering. Source: https://github.com/Johnwikix/ScottPlot