Plotly.NET 2.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Plotly.NET --version 2.0.0
NuGet\Install-Package Plotly.NET -Version 2.0.0
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="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Plotly.NET --version 2.0.0
#r "nuget: Plotly.NET, 2.0.0"
#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.
// Install Plotly.NET as a Cake Addin
#addin nuget:?package=Plotly.NET&version=2.0.0

// Install Plotly.NET as a Cake Tool
#tool nuget:?package=Plotly.NET&version=2.0.0

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. 
.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 (17)

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

Package Downloads
QuantConnect.Research The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

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

Plotly.NET.Interactive

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

Plotly.NET.ImageExport

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

Plotly.NET.CSharp

Native C# bindings for Plotly.NET 📈🚀.

eXponential.base

Package Description

GitHub repositories (4)

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

Repository Stars
QuantConnect/Lean
Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
asc-community/AngouriMath
New 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
WhiteBlackGoose/AsmToDelegate
Compile asm code into C# functions on fly!
Version Downloads Last updated
4.2.0 36,832 8/2/2023
4.1.0 11,129 7/14/2023
4.0.0 39,626 2/24/2023
4.0.0-preview.4 98 2/24/2023
4.0.0-preview.3 179 2/15/2023
4.0.0-preview.2 167 2/10/2023
4.0.0-preview.1 98 2/10/2023
3.0.1 60,755 8/26/2022
3.0.0 13,027 6/15/2022
2.0.0 13,320 4/28/2022
2.0.0-preview.18 1,339 3/4/2022
2.0.0-preview.17 21,501 2/8/2022
2.0.0-preview.16 11,336 11/27/2021
2.0.0-preview.15 2,135 11/16/2021
2.0.0-preview.14 223 11/12/2021
2.0.0-preview.13 156 11/12/2021
2.0.0-preview.12 528 11/8/2021
2.0.0-preview.11 262 11/4/2021
2.0.0-preview.10 567 10/11/2021
2.0.0-preview.9 819 9/30/2021
2.0.0-preview.8 17,838 9/16/2021
2.0.0-preview.7 506 8/26/2021
2.0.0-preview.6 3,729 7/12/2021
2.0.0-preview.5 237 7/7/2021
2.0.0-preview.4 304 6/22/2021
2.0.0-preview.3 385 6/16/2021
2.0.0-preview.2 615 6/3/2021
2.0.0-preview.1 484 5/31/2021
2.0.0-beta9 727 5/3/2021
2.0.0-beta8 1,996 3/28/2021
2.0.0-beta7 801 3/20/2021
2.0.0-beta6 1,694 2/15/2021
2.0.0-beta5 1,729 1/22/2021
2.0.0-beta4 241 1/22/2021
2.0.0-beta3 273 1/18/2021
2.0.0-beta2 211 1/18/2021
2.0.0-beta1 277 1/15/2021
2.0.0-beta 290 1/15/2021
2.0.0-alpha5 1,743 12/11/2020
2.0.0-alpha4 252 12/10/2020
2.0.0-alpha3 772 9/22/2020
2.0.0-alpha2 1,236 9/18/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:
![plotly-net-gource](https://user-images.githubusercontent.com/21338071/161372870-3fe429e8-a999-403c-8a44-dba40926d9bd.gif)
(made with [gource](https://github.com/acaudwell/Gource))
All APIs have changed significantly - this release is incompatible with 1.x and many 2.x-preview/beta versions.
TL;DR**
- All plotly chart/trace types!
- Unified API!
- chart rendering in notebooks!
- programmatic static image export!
- Exhaustive docs!
- We have a [discord server](https://discord.gg/k3kUtFY8DB), feel free to ask questions there!
Core library**
General**
- 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)
Plotly.NET.Interactive**
You can directly render charts as html cell output with the dotnet interactive kernel:
![image](https://user-images.githubusercontent.com/21338071/161376599-2afa5610-7726-41b9-87a5-20a88ed2441f.png)
Plotly.NET.ImageExport**
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](https://github.com/hardkoded/puppeteer-sharp) to render charts with headless chromium.