Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Interactive graphing library for .NET programming languages 📈

License

NotificationsYou must be signed in to change notification settings

plotly/Plotly.NET

Repository files navigation

Build and testDiscordDOI

Maintained by the Plotly Community

Table of contents

What is Plotly.NET?

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 ourF1000Research 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-safeChart 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.

Installation

You can get all Plotly.NET packages via nuget:

Package NameNuget
Plotly.NET
Plotly.NET.Interactive
Plotly.NET.ImageExport
Plotly.NET.CSharp

Documentation

Quick starts

F#

In F# projects, just add thePlotly.NET package to your project and you are ready to go!

📖 Polyglot Notebook 📖 Quick start

To enable Plotly.NET in a polyglot notebook, reference thePlotly.NET.Interactive package:

#r"nuget: Plotly.NET.Interactive"

To display a chart, just end a F# cell with it:

openPlotly.NETChart.Point(    x=[0..10],    y=[0..10])|> Chart.withTitle"Hello World!"

notebook quichstart in F#

.fsx Scripting quickstart

To enable Plotly.NET in a .fsx script, reference thePlotly.NET package:

#r"nuget: Plotly.NET"

To display a chart in your browser, use theChart.show function:

openPlotly.NETChart.Point(    x=[0..10],    y=[0..10])|> Chart.withTitle"Hello World!"|> Chart.show

C#

In C# projects, just add thePlotly.NET.CSharp package to your project and you are ready to go!

📖 Polyglot Notebook 📖 Quick start

To enable Plotly.NET in a polyglot notebook for C#, reference thePlotly.NET.Interactive andPlotly.NET.CSharp packages:

#r"nuget: Plotly.NET.Interactive"#r "nuget:Plotly.NET.CSharp"

To display a chart, just end a C# cell with it:

usingPlotly.NET.CSharp;Chart.Point<int,int,string>(x:Enumerable.Range(0,11),y:Enumerable.Range(0,11))

notebook quichstart in C#

Samples and tutorials

You can find extensive documentation with samples and tutorials of the corePlotly.NET library📖 here.

Full library reference

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!

Development

Note: Therelease andprerelease build targets assume that there is aNUGET_KEY environment variable that contains a valid Nuget.org API key.

build

Check thebuild 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 onlybuild.sh# Full release buildchain: build, test, pack, build the docs, push a git tag, publísh the nuget package, release the docsbuild.sh release# The same for prerelease versions:build.sh prerelease

running and writing tests

please refer to the detailed readme in thetests folder

docs

The docs are contained in.fsx and.md files in thedocs 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

Contributors

Plotly.NET is a community maintained open source project. Big thanks to all contributors!

Library license

The library is available under theMIT license.

FAQ

Why are there two separate packages for C# and F#?

These packages are not separate, Plotly.NET.CSharp is builton top of Plotly.NET.

Plotly.NET (written in F#) is the main project. It is designed with interoperability in mind, and it is possible to use it from C#.

Over the years, some friction between F# and C# have surfaced that cannot be overcome in the F# codebase. For more info, take a look at this issue where we discuss the topic:#285

ThePlotly.NET.CSharp package (written in C#, using the F# API internally) is a thin wrapper around the core API. It is not necessary to use it, but it can make the API more idiomatic and ergonomic for C# users.

Can I use Plotly.NET in [insert your UI library here]?

It depends. Plotly.NET creates JSON for consumption by the plotly.js library. The actual rendering is done by plotly.js, in an environment where javascript can be run.

This means that your UI libs needs some way of displaying html and executing javascript to be compatible with Plotly.NET. That is true for most UI libs though,here for example is a POC for Blazor.

For Windows Forms and WPF you could use a WebView control to display the charts.

You could also use Plotly.NET.ImageExport in your backend to create static images of your charts and serve those in your UI.


[8]ページ先頭

©2009-2025 Movatter.jp