
[](https://github.com/plotly/Plotly.NET/actions/workflows/build-and-test.yml)
[](https://www.nuget.org/packages/Plotly.NET/)
[](https://discord.gg/k3kUtFY8DB)

We are currently in the process of writing a software paper on Plotly.NET. in the meantime, if you are using Plotly.NET for your research please cite the zenodo archive:
[](https://doi.org/10.5281/zenodo.6344285)
Plotly.NET provides functions for generating and rendering plotly.js charts in **.NET** programming languages .
### Table of contents
- [Installation](#installation)
- [For applications and libraries](#for-applications-and-libraries)
- [For scripting](#for-scripting)
- [For dotnet interactive notebooks](#for-dotnet-interactive-notebooks)
- [Nightly builds](#getting-nightly-builds)
- [Documentation](#documentation)
- [Getting started](#getting-started)
- [Full library reference](#full-library-reference)
- [Develop](#develop)
- [build](#build)
- [docs](#docs)
- [Contributors](#contributors)
- [Library license](#library-license)
# Installation
The most recent Plotly.NET package is [](https://www.nuget.org/packages/Plotly.NET/).
Plotly.NET also provides several extension packages:
| Package Name| Plotly.NET.Interactive | Plotly.NET.ImageExport | Plotly.NET.CSharp |
|---|---|---|---|
| Description | Interactive formatting extension for .NET interactive notebooks| programmatic static image export | idiomatic C# API. Note that you can use the core API in C#, this package just removes some friction at some places. [See bindings progress](https://github.com/plotly/Plotly.NET/issues/296)|
| Nuget | [](https://www.nuget.org/packages/Plotly.NET.Interactive/) | [](https://www.nuget.org/packages/Plotly.NET.ImageExport/) | [](https://www.nuget.org/packages/Plotly.NET.CSharp/) |
### For applications and libraries
- dotnet CLI
```shell
dotnet add package Plotly.NET
```
- paket CLI
```shell
paket add Plotly.NET --version
```
- package manager
```shell
Install-Package Plotly.NET -Version
```
Or add the package reference directly to your `.*proj` file:
```
```
### For scripting
You can include the package via an inline package reference:
```
#r "nuget: Plotly.NET, "
```
### For dotnet interactive notebooks
You can use the same inline package reference as in script, but as an additional goodie,
the interactive extensions for dotnet interactive have you covered for seamless chart rendering:
```
#r "nuget: Plotly.NET, "
#r "nuget: Plotly.NET.Interactive, "
```
Getting nightly builds
[click ]
The nightly builds are located on myget.org.
For your project:
```
dotnet new nugetconfig
dotnet nuget add source https://www.myget.org/F/plotly-net-nightly/api/v3/index.json
dotnet add package Plotly.NET --prerelease
```
Interactively:
```
#i "https://www.myget.org/F/plotly-net-nightly/api/v3/index.json"
#r "nuget:Plotly.NET, *-*"
#r "nuget:Plotly.NET.Interactive, *-*"
```
# Documentation
## Getting started
The landing page of our docs contains everything to get you started fast, check it out [ here](http://plotly.github.io/Plotly.NET/)
## Full library reference
The API reference is available [ here](http://plotly.github.io/Plotly.NET/reference/index.html)
The documentation for this library is automatically generated (using FSharp.Formatting) from *.fsx and *.md files in the docs folder. If you find a typo, please submit a pull request!
# Development
_Note:_ The `release` and `prerelease` build targets assume that there is a `NUGET_KEY` environment variable that contains a valid Nuget.org API key.
### build
Check the [build project](https://github.com/plotly/Plotly.NET/blob/dev/build) to take a look at the build targets. Here are some examples:
```shell
# Windows
# Build only
./build.cmd
# Full release buildchain: build, test, pack, build the docs, push a git tag, publish thze nuget package, release the docs
./build.cmd release
# The same for prerelease versions:
./build.cmd prerelease
# Linux/mac
# Build only
build.sh
# Full release buildchain: build, test, pack, build the docs, push a git tag, publsh the nuget package, release the docs
build.sh release
# The same for prerelease versions:
build.sh prerelease
```
### docs
The docs are contained in `.fsx` and `.md` files in the `docs` folder. To develop docs on a local server with hot reload, run the following in the root of the project:
```shell
# Windows
./build.cmd watchdocs
# Linux/mac
./build.sh watchdocs
```
## Contributors
Plotly.NET is a community maintained open source projects. Big thanks to all contributors!
[image]
## Library license
The library is available under the [MIT license](https://github.com/plotly/Plotly.NET/blob/dev/LICENSE).