Plotly.NET 6.0.0-preview.2

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

plotly.js charts in .NET programming languages 📈🚀.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (21)

Showing the top 5 NuGet packages that depend on Plotly.NET:

Package Downloads
Plotly.NET.ImageExport

An easily extensible library to render static images from Plotly.NET charts.

Plotly.NET.CSharp

Native C# bindings for Plotly.NET 📈🚀.

Plotly.NET.Interactive

A .NET Interactive Kernel Extension for displaying Plotly.NET charts.

QuantConnect.Research

QuantConnect LEAN Engine: Research Project - Core implementation for jupyter research environment

BioFSharp.Vis

Data visualization for bioinformatic purposes

GitHub repositories (6)

Showing the top 6 popular GitHub repositories that depend on Plotly.NET:

Repository Stars
QuantConnect/Lean
Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
dotnet/dotnet
Home of .NET's Virtual Monolithic Repository which includes all the code needed to build the .NET SDK.
asc-community/AngouriMath
Open-source cross-platform symbolic algebra library for C# and F#. Can be used for both production and research purposes.
bitfaster/BitFaster.Caching
High performance, thread-safe in-memory caching primitives for .NET
Capnode/Algoloop
Windows desktop algo trading with QuantConnect Lean engine.
WhiteBlackGoose/AsmToDelegate
Compile asm code into C# functions on fly!
Version Downloads Last Updated
6.0.0-preview.2 44 6/16/2026
6.0.0-preview.1 1,804 7/28/2025
5.1.0 309,617 9/4/2024
5.0.0 461,260 5/27/2024
4.2.0 104,068 8/2/2023
4.1.0 44,303 7/14/2023
4.0.0 98,450 2/24/2023
4.0.0-preview.4 292 2/24/2023
4.0.0-preview.3 380 2/15/2023
4.0.0-preview.2 360 2/10/2023
4.0.0-preview.1 289 2/10/2023
3.0.1 162,801 8/26/2022
3.0.0 26,996 6/15/2022
2.0.0 17,731 4/28/2022
2.0.0-preview.18 1,589 3/4/2022
2.0.0-preview.17 22,254 2/8/2022
2.0.0-preview.16 21,728 11/27/2021
2.0.0-preview.15 2,361 11/16/2021
2.0.0-preview.14 424 11/12/2021
2.0.0-preview.13 340 11/12/2021
Loading failed

This version [removes C# interop from the core F# Plotly.NET library](https://github.com/plotly/Plotly.NET/issues/457), offloading those implementations directly to the native C# lib Plotly.NET.CSharp:
[Milestone link with all the fixed/closed issues](https://github.com/plotly/Plotly.NET/milestone/8)
Breaking:** Plotly.NET assemblies are no longer strong-named. Maintaining a strong-named build chain has caused recurring friction (see [#452](https://github.com/plotly/Plotly.NET/issues/452), [#371](https://github.com/plotly/Plotly.NET/issues/371), and the broader discussion at [StephenCleary/AsyncEx#129](https://github.com/StephenCleary/AsyncEx/issues/129)) and forced us to maintain a re-packaged signed fork of Giraffe.ViewEngine ([giraffe-fsharp/Giraffe.ViewEngine#23](https://github.com/giraffe-fsharp/Giraffe.ViewEngine/pull/23)). Consumers that still need strong-named binaries can use [brutaldev/StrongNameSigner](https://github.com/brutaldev/StrongNameSigner) to sign assemblies post-build.
As a consequence, the html dsl dependency switches back from `Giraffe.ViewEngine.StrongName 2.0.0-alpha1` to upstream `Giraffe.ViewEngine 1.4.0`. The namespace is unchanged, so user code is not affected.
- Bump bundled plotly.js to **2.28.0**
- [#441](https://github.com/plotly/Plotly.NET/issues/441): **Encoded typed array support** — plotly.js 2.28 introduced base64-encoded typed arrays as a high-performance alternative to JSON arrays for trace data fields. Plotly.NET now exposes this fully:
- New `EncodedTypedArray` type (in `Plotly.NET`) carrying a base64 payload (`bdata`), a dtype tag (`dtype`), and an optional shape for multi-dimensional data. Supported dtypes: `Float64`, `Float32`, `Int32`, `UInt32`, `Int16`, `UInt16`, `Int8`, `UInt8`, `UInt8Clamped`.
- Convenience constructors: `EncodedTypedArray.ofFloat64Array`, `ofFloat32Array`, `ofInt32Array`, `ofUInt32Array`, `ofInt16Array`, `ofUInt16Array`, `ofInt8Array`, `ofUInt8Array`, `ofUInt8ClampedArray` — all accept a 1-D .NET array and an optional `shape` parameter for multi-dimensional layouts.
- Encoded fields added to **all trace style modules** (`Trace2DStyle`, `Trace3DStyle`, `TracePolarStyle`, `TraceGeoStyle`, `TraceMapboxStyle`, `TraceTernaryStyle`, `TraceCarpetStyle`, `TraceDomainStyle`, `TraceSmithStyle`), covering data arrays (`XEncoded`, `YEncoded`, `ZEncoded`, etc.), metadata arrays (`IdsEncoded`, `CustomDataEncoded`, `MultiTextEncoded`, `SelectedPointsEncoded`), error bar arrays (`ArrayEncoded`, `ArrayminusEncoded`), and trace-specific fields (e.g. `Q1Encoded`/`MedianEncoded`/`Q3Encoded` on BoxPlot, `OpenEncoded`/`HighEncoded`/`LowEncoded`/`CloseEncoded` on OHLC/Candlestick, `OpacityScaleEncoded` on Surface/Volume/IsoSurface, `IntensityEncoded`/`IEncoded`/`JEncoded`/`KEncoded` on Mesh3D, dimension `ValuesEncoded` on Splom/ParallelCoord).
- Encoded overloads added to **all `Chart` module root functions** (e.g. `Chart.Scatter`, `Chart.Bar`, `Chart.Waterfall`, `Chart.Histogram`, `Chart.BoxPlot`, `Chart.Violin`, `Chart.OHLC`, `Chart.Candlestick`, `Chart.Splom`, `Chart.Histogram2D`, `Chart.Heatmap`, `Chart.Contour`, `Chart.Scatter3D`, `Chart.Surface`, `Chart.Mesh3D`, `Chart.Cone`, `Chart.StreamTube`, `Chart.Volume`, `Chart.IsoSurface`, `Chart.ScatterPolar`, `Chart.BarPolar`, `Chart.ScatterGeo`, `Chart.ChoroplethMap`, `Chart.ScatterMapbox`, `Chart.ChoroplethMapbox`, `Chart.DensityMapbox`, `Chart.ScatterTernary`, `Chart.Carpet`, `Chart.ScatterCarpet`, `Chart.ContourCarpet`, `Chart.ScatterSmith`, `Chart.Pie`, `Chart.FunnelArea`, `Chart.Sunburst`, `Chart.Treemap`, `Chart.Icicle`) and to all **H1/H2 convenience helpers** (e.g. `Chart.Point`, `Chart.Line`, `Chart.Spline`, `Chart.Bubble`, `Chart.Area`, `Chart.SplineArea`, `Chart.StackedArea`, `Chart.Range`, `Chart.Funnel`, `Chart.Histogram`, `Chart.StackedBar`, `Chart.PointDensity`, `Chart.PointPolar`, `Chart.PointGeo`, `Chart.PointMapbox`, `Chart.PointTernary`, `Chart.PointSmith`, `Chart.PointCarpet`, `Chart.Doughnut`).
- [#500](https://github.com/plotly/Plotly.NET/pull/500): Internal refactor — split the monolithic `Chart.fs` into per-chart-family files (`Chart2D_Scatter.fs`, `Chart2D_Bar.fs`, etc.) for better maintainability. No API changes.
- **Set comparison charts** — new composite charts for visualizing set membership and intersections (in `ChartComposite`):
- `Chart.Venn` draws a Venn diagram comparing two or three sets (`set1`, `set2`, optional `Set3`), annotating each region with its member count. Axes are locked to a 1:1 pixel ratio so the circles always render round, and colors/labels/text font are customizable.
- `Chart.UpSet` draws an UpSet plot for an arbitrary number of sets: an intersection matrix, an intersection-size bar chart, and a set-size bar chart, with optional per-intersection attribute plots via `SetData`/`SetDataChartsTitle`.
- Both take plain `#seq<string>` / `#seq<#seq<string>>` set inputs (treated as sets internally; duplicates ignored) and support the standard `UseDefaults` parameter.
- Dev tooling: target framework for build/test projects updated to `net10.0`; NuGet dependency updates (Newtonsoft.Json 13.0.4, Deedle 5.0.0, FSharp.Data 8.1.7, FAKE 6.1.4, Microsoft.NET.Test.Sdk 18.x).