Plotly.NET.Interactive 2.0.0

.NET Standard 2.1
Install-Package Plotly.NET.Interactive -Version 2.0.0
dotnet add package Plotly.NET.Interactive --version 2.0.0
<PackageReference Include="Plotly.NET.Interactive" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Plotly.NET.Interactive --version 2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Plotly.NET.Interactive, 2.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Plotly.NET.Interactive as a Cake Addin
#addin nuget:?package=Plotly.NET.Interactive&version=2.0.0

// Install Plotly.NET.Interactive as a Cake Tool
#tool nuget:?package=Plotly.NET.Interactive&version=2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

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

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.1
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.0 290 4/28/2022
2.0.0-preview.18 392 3/4/2022
2.0.0-preview.17 444 2/8/2022
2.0.0-preview.16 485 11/27/2021
2.0.0-preview.15 194 11/16/2021
2.0.0-preview.14 85 11/12/2021
2.0.0-preview.13 75 11/12/2021
2.0.0-preview.12 228 11/8/2021
2.0.0-preview.11 135 11/4/2021
2.0.0-preview.10 220 10/11/2021
2.0.0-preview.9 219 9/30/2021
2.0.0-preview.8 334 9/16/2021
2.0.0-preview.7 225 8/26/2021
2.0.0-preview.6 553 7/12/2021
2.0.0-preview.5 128 7/7/2021
2.0.0-preview.4 179 6/22/2021
2.0.0-preview.3 216 6/16/2021
2.0.0-preview.2 138 6/3/2021
2.0.0-preview.1 197 5/31/2021
2.0.0-beta9 256 5/3/2021
2.0.0-beta8 265 3/28/2021
2.0.0-beta7 156 3/20/2021
2.0.0-beta6 211 2/15/2021
2.0.0-beta5 296 1/22/2021
2.0.0-beta4 126 1/22/2021
2.0.0-beta10 92 5/27/2021
2.0.0-beta.10 100 5/31/2021
2.0.0-alpha5 207 12/11/2020
2.0.0-alpha4 147 12/10/2020

Plotly.NET finally has reached all milestones for 2.0 and is ready for a stable release.
This release is the culmination of almost **2 years of work in >500 commits by 17 contributors**.
Here is an attempt to visualize the history of these changes in a few seconds:
(made with [gource](
All APIs have changed significantly - this release is incompatible with 1.x and many 2.x-preview/beta versions.
- All plotly chart/trace types!
- Unified API!
- chart rendering in notebooks!
- programmatic static image export!
- Exhaustive docs!
- We have a [discord server](, feel free to ask questions there!
Core library**
- The API layer model has refined and used for every type of plotly object abstraction. In brief,
- There are 5 main categories of abstractions: `Trace` (chart data and type), `Layout`(non-data chart styling), `Config`(render options), `DisplayOptions`(html display options), `StyleParam`(DSL for styling options)
- Many properties used in these levels are themselves objects, which are in the respective `*Objects` namespace (e.g. `Geo`, which determines map layout of geo traces is an object on the `Layout` and therefore in the `LaoutObjects` namespace.)
- every object is based on `DynamicObj` and its properties can therefore be further customised by dynamic member assignment. Therefore, every plotly property can be set manually, even those which do not have direct abstractions.
- There are now several `Trace` types for each kind of subplot (`Trace2D`, `Trace3D`, etc.) and eqivalent `Chart` types (`Chart2D`, `Chart3D`, etc). while not visible from the top level api (everything kan be accessed via the unified `Chart` API), this greatly improves correct multi chart layouting.
- There are 3 ways of creating charts with increasing level of customization:
1. The `Chart` API as a unified API surface for chart creation and styling
- `Chart.<ChartType>`  (e.g. `Chart.Point`) for chart creation from data and some chart specific styling options
- `Chart.with<Style or object>` (e.g. `Chart.withXAxisStyle`) for styling of chart objects
2. Creation of Chart objects by manually creating `Trace`, `Layout` and `Config` objects with many more optional customization parameters
3. Exclusive usage of `DynamicObj` - you can translate **any** plotly.js javascript with this method.
Chart/Trace abstractions**
You can create the following Charts with Plotly.NET's API (and many more by combining them):
- Cartesian 2D (`Chart2D`):
- `Scatter` (Point, Line, Spline, Bubble, Range, Area, SplineArea, StackedArea)
- `Funnel`
- `Waterfall`
- `Bar` (Bar, Column, StackedBar, StackedColumn)
- `Histogram`
- `Histogram2D`
- `Histogram2DContour`
- `PointDensity`
- `BoxPlot`
- `Violin`
- `Heatmap` (Heatmap, AnnotatedHeatmap)
- `Image`
- `Contour`
- `OHLC` (OHLC, CandleSticks)
- `Splom`
- Cartesian 3D (`Chart3D`):
- `Scatter3D` (Point3D, Line3D, Bubble3D)
- `Surface`
- `Mesh3D`
- `Cone`
- `StreamTube`
- `Volume`
- `IsoSurface`
- Polar (`ChartPolar`):
- `ScatterPolar` (PointPolar, LinePolar, SplinePolar, BubblePolar)
- `BarPolar`
- Maps (`ChartMap`):
- `ChoroplethMap`
- `ChoroplethMapbox`
- `ScatterGeo` (PointGeo, LineGeo, BubbleGeo)
- `ScatterMapbox` (PointMapbox, LineMapbox, BubbleMapbox)
- `DensityMapbox`
- Ternary (`ChartTernary`):
- `ScatterTernary` (PointTernary, LineTernary, SplineTernary, BubbleTernary)
- Carpet (`ChartCarpet`):
-  `Carpet`
- `ScatterCarpet` (PointCarpet, LineCarpet, SplineCarpet, BubbleCarpet)
- `ContourCarpet`
- Domain (`ChartDomain`)
- `Pie` (Pie, Doughnut)
- `FunnelArea`
- `Sunburst`
- `Treemap`
- `ParallelCoord`
- `ParallelCategories`
- `Sankey`
- `Table`
- `Indicator`
- `Icicle`
- Smith (`ChartSmith)`
-  `ScatterSmith` (PointSmith, LineSmith, BubbleSmith)
You can directly render charts as html cell output with the dotnet interactive kernel:
This library provides an interface for image rendering engines to consume plots and create static image files (PNG, JPG, SVG), as well as a reference implementation using [PuppeteerSharp]( to render charts with headless chromium.