Gitpedia

Plotly.jl

A Julia interface to the plot.ly plotting library and cloud services

From plotly·Updated May 8, 2026·View on GitHub·

A Julia interface to the plot.ly plotting library and cloud services The project is written primarily in Julia, distributed under the Other license, first published in 2014. Key topics include: cloud, julia, plot, plotly, plotlyjs.

Latest release: v0.2.0Julia 1.0!
September 12, 2018View Changelog →

Plotly.jl

Build Status

A Julia interface to the plot.ly plotting library and cloud services

<div align="center"> <a href="https://dash.plotly.com/project-maintenance"> <img src="https://dash.plotly.com/assets/images/maintained-by-community.png" width="400px" alt="Maintained by the Plotly Community"> </a> </div>

Install

Simply run Pkg.add("Plotly").

Usage

Plotting functions provided by this package are identical to PlotlyJS. Please consult its documentation. In fact, the package depends on PlotlyJS.jl and reexports all the methods.

For example, this will display a basic scatter plot:

my_plot = plot([scatter(x=[1,2], y=[3,4])], Layout(title="My plot"))

Using the Plotly cloud

New user signup

Find your username and API key in the Plotly settings.

Signin

julia
julia> Plotly.signin("username","your api key") PlotlyAccount("username","your api key")

Note: you may also specify your session endpoints using sign in as follows:

julia
julia> Plotly.signin("username","your api key",Dict("plotly_domain"=> "your_plotly_base_endpoint", "plotly_api_domain"=> "your_plotly_api_endpoint"))

Saving your credentials

julia
julia> Plotly.set_credentials_file(Dict("username"=>"your_user_name","api_key"=>"your_api_key"))

Note: your credentials will be saved within /YOUR_HOME_DIR/.plotly/.credentials

Saving your endpoint configuration

julia
julia> Plotly.set_config_file(Dict("plotly_domain"=> "your_plotly_base_endpoint", "plotly_api_domain"=> "your_plotly_api_endpoint"))

Note: your configuration will be saved within /YOUR_HOME_DIR/.plotly/.config

Saving a plot to the cloud

Use the post function to upload a local plot to the Plotly cloud:

> my_plot  = plot([scatter(y=[1,2])])
> remote_plot = post(my_plot)
Plotly.RemotePlot(URI(https://plot.ly/~malmaud/73))

Visiting https://plot.ly/~malmaud/73 in a browser will show the plot.

Download a plot from the cloud

Use the download function with a remote plot object to download a plot stored on the Plotly cloud to a local Plot object:

local_plot = download(RemotePlot("https://plot.ly/~malmaud/73"))
# or equivalently, local_plot = download_plot("https://plot.ly/~malmaud/73")

Working with plotlyjs() backend of Plots.jl

A plot created by Plots.jl with plotlyjs() backend has the type Plot{Plots.PlotlyJSBackend()}.
To use the Plotly.jl interfeces, the plot object needs to be converted by

julia
my_plot = Plots.plotlyjs_syncplot(plots_plot)

The object my_plot can be handed to the Cloud API descrived above.

Acknowledgements

PlotlyJS.jl , which provides the large majority of the functionality of this package, is developed primarily by Spencer Lyon.

This package, which adds to PlotlyJS.jl the functionality for interacting with the Plotly cloud, is developed by Jon Malmaud and others.

Contribute

Please do! This is an open source project. Check out the issues or open a PR!

We want to encourage a warm, welcoming, and safe environment for contributing to this project. See the code of conduct for more information.

License

MIT © 2016-2017 Shilei Zheng, Leah Hanson, Bryan A. Knowles, Chris Palmer, Jon Malmaud

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from plotly/Plotly.jl via the GitHub API.Last fetched: 5/30/2026