Plotly

A pretty good plotting system

November 20, 2015 — March 31, 2025

communicating
computers are awful
photon choreography
python
Figure 1

A plotting system. Originally, Plotly was mostly for browser-based visualisation, plotly. If you’re plotting for the web, it really pops, supporting neat interactivity and dynamic scaling out of the box.

Now it also supports non-browser output; we can easily embed browser tech in other platforms.

There are Plotly wrappers for R, Python, Julia, and presumably others.

Plotly works with ggplot2!

With ggplotly() by Plotly, you can convert your ggplot2 figures into interactive ones powered by plotly.js.

I am indebted to Andy MacKinlay for reminding me Plotly is a thing. Now it also supports non-browser output; we can easily embed browser tech in other platforms.

Plotly uses other libraries for data visualisation which means some stuff can be tricky to find. For example, string formatting documentation is here and date formatting here.

1 Image export

See Plotly’s static image export in Python. Basically, the default export

The old image exporter was called orca and it is easy to install on macos via brew install orca.

The new one is called kaleido which is still a bleeding-edge mess. Their recommended way of installing it is

uv add 'git+https://github.com/plotly/kaleido@latest-tag#subdirectory=src/py'

but this gave me a zany devtools_protocol error. With the uv package manager I installed it via

uv pip install "https://github.com/plotly/Kaleido/releases/download/v1.0.0-rc.0/kaleido-1.0.0rc0-py3-none-any.whl"

However, this did not work, and I ended up exporting my graphics as screenshots.