Plotly.NET is an Interactive charting library for .NET programming languages 📈🚀.
It is built on top of plotly.js and provides several API layers for creating, styling and rendering ✨beautiful data visualizations✨.
To get a deep-dive into the rationale behind the design choices of Plotly.NET, check out our F1000Research paper!
In short, Plotly.NET consists of multiple API layers and packages:
Plotly.NET
- The core API is written in F# and provides multiple API layers to create and style charts - from the high-level, type-safe Chart
API to low-level direct chart object manipulation. It is the foundation for all other packages.
Plotly.NET.Interactive
- This package provides interactive formatting extensions for .NET interactive notebooks.
Plotly.NET.ImageExport
- This package provides extensions for Plotly.NET to render charts as static images programmatically.
Plotly.NET.CSharp
- This package provides an idiomatic C# API. Note that you can use the core API in C#, this package just removes some friction at some places.
You can get all Plotly.NET packages via nuget:
Package Name | Nuget |
---|---|
Plotly.NET | |
Plotly.NET.Interactive | |
Plotly.NET.ImageExport | |
Plotly.NET.CSharp |
In F# projects, just add the Plotly.NET
package to your project and you are ready to go!
In C# projects, just add the Plotly.NET.CSharp
package to your project and you are ready to go!
You can find extensive documentation with samples and tutorials of the core Plotly.NET
library 📖 here.
The API reference for all packages is available 📚 here
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!
Note: The release
and prerelease
build targets assume that there is a NUGET_KEY
environment variable that contains a valid Nuget.org API key.
Check the build project to take a look at the build targets. Here are some examples:
# Windows
# Build only
./build.cmd
# Full release buildchain: build, test, pack, build the docs, push a git tag, publish the 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, publÃsh the nuget package, release the docs
build.sh release
# The same for prerelease versions:
build.sh prerelease
please refer to the detailed readme in the tests folder
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:
# Windows
./build.cmd watchdocs
# Linux/mac
./build.sh watchdocs
Plotly.NET is a community maintained open source project. Big thanks to all contributors!
The library is available under the MIT license.