plotly.R icon indicating copy to clipboard operation
plotly.R copied to clipboard

Plotly is retiring its R documentation

Open msummersgill opened this issue 2 months ago • 6 comments

I am opening this issue as a potential avenue for some thoughtful, respectful community discussion about the current state of the plotly R package, it's relationship and support by the Plotly organization, and potential paths forward for community maintenance.

According to this community announcement, the Plotly organization is preparing to retire R documentation in November 2025.

It would be fantastic to see an entity like Posit pick up the torch and host the documentation (or even support more maintenance efforts to get the R plotly documentation back up to date) in a similar manner to how it supported the "tidyverse" - perhaps just wishful thinking on my part though.

In lieu of a knight-in-shining-armor swooping in, what might be the best path to transition documentation to a new hosting location?

Related thread on reddit.

msummersgill avatar Oct 08 '25 22:10 msummersgill

Some thoughts for a potential path forward:

A great deal of the complexity in this project arises from the fantastic work of @cpsievert to map between two API's - ggplot2 and plotly.js. The value of this to the R community cannot be understated! Like many other users, my first introduction to plotly was via ggplotly(), and this functionality contributes greatly to the widespread usage of plotly in the R community. Since then, I have transitioned to exclusively using the plot_ly() method to generate plots because using the "native" interface opens up more granular formatting tweaks and broader capabilities (i.e 3D visualizations).

When I look at the issue backlog, the many issues are related to either feature requests for new ggplot2 geoms or features (i.e. https://github.com/plotly/plotly.R/issues/2425, https://github.com/plotly/plotly.R/issues/2438, https://github.com/plotly/plotly.R/issues/2451), or bug reports related to breaking changes in ggplot2. (i.e. https://github.com/plotly/plotly.R/issues/2455, https://github.com/plotly/plotly.R/issues/2358, https://github.com/plotly/plotly.R/issues/2212). I can see how this situation might be undesirable to the Plotly organization. Instead of simply maintaining the R package to support ongoing development to the plotly.js, the scope now implicitly includes supporting a fairly fast-paced stream of new features and occasional breaking changes of a third party dependency.

In addition, the current bundled version of plotly.js is v2.11.1, which was released in March, 2022. I would speculate that the extensive integration and test coverage to support ggplotly() contributes significantly to the effort required to bump the plotly.js version, though integrations with Shiny, Rmarkdown, Quarto, HtmlWidgets, may also be a source of friction. Regardless of cause, I see how the Plotly organization might see falling more than 3 years behind upstream plotly.js development has put this library in an untenable state.

In short, the the R plotly package is in an awkward position, forced to make updates between two upstream sources maintained by different parties, with no official development resources to support.

Perhaps the Plotly organization would be willing to continue treating R as a "Tier-1" supported language with official documentation if we made the following changes:

  • Create an R "plotly core" package that decouples from ggplot2 and acts as a thin wrapper of the plotly.js API (I took a first stab at such an effort in this branch and validated that ggplot2 can be removed as a dependency and plots show up as expected after updating to the latest release of plotly.js)
  • Garner community support to keep that R package reasonably up to date with the latest plotly.js releases
  • Explore implementing scripts to machine-generate R functions in a similar manner to how the R Figure Reference is machine-generated from the schema specification to streamline R support of new features.

A new ggplotly focused package (or, optionally, this existing package for the sake of continuity to end-users) could then import functionality from the "plotly core" package and support continued feature development for new geoms and keep up-to-date with ggplot2 changes, with acknowledgement that such efforts are outside the scope supported by the Plotly organization.

P.S. @tdhock I noticed you were a substantial contributor to this project early in it's lifecycle. I've been very impressed with your leadership in reviving development of the data.table package as a community effort when it came time for the original maintainer to move on, I am curious if you have any thoughts on what the best path forward in this situation might be!

msummersgill avatar Oct 09 '25 15:10 msummersgill

No concrete news from us, but we are discussing this internally.

I can see the appeal of creating a new core package without support for ggplot2, but our experience doing this sort of extraction in the past is that it's quite a bit more work than you expect, and does increase the overall long-term maintenance burden. I think the ideal outcome would be better support for the existing package.

hadley avatar Oct 10 '25 13:10 hadley

From the Plotly side -- also no concrete news from Plotly as of today, but we've seen the community response and passion about this project and keeping it 🚀 for the future. @Hadley, I was chatting with @cpsievert over email and I'll add you as well to chat about what we can do between Plotly and Posit to help keep the project moving forward.

ndrezn avatar Oct 14 '25 13:10 ndrezn

Hi, I hope my 2 cents as a user is welcome here. I develop R applications professionally, mostly with Shiny.
We use Plotly in certain dashboards and the most crucial thing would be ensuring that currently working functionality keeps working in the future.

Regarding future development, we would appreciate new core Plotly.js functionality more than ggplotly() compatibility. In our cases, when static charts are needed, we use ggplot2, and when interactive charts are needed, we construct them via plot_ly(). The ability to transform ggplot to plotly seamlessly doesn't really impact our workflow.

Since the R library uses plotly.js 2.5.1 and the latest version is 3.1.1, I'm sure upgrading to version >3.0 is a lot of work by itself, without taking ggplotly() into account.
As @msummersgill mentioned, decoupling from ggplot into a thin API wrapper is a possibility. This could allow new functionality regarding changes in plotly.js itself. I don't speak for everyone, but I wouldn't mind ggplotly() being a legacy feature, perhaps made into a version of the plotlyR package that sticks with 2.5.1 and supports this transformation, with a new plotlyR2 package that focuses on being an API to the newer javascript package.

Mkranj avatar Oct 15 '25 10:10 Mkranj

Maybe I'm missing something here, but why can't the "outdated" documentation remain with a tacked on warning at the topped pinned to a particular release? Or if it's not pinned to a release, any major discrepancies between the docs and the releases could be patched by contributors who care about it. Or is Plotly R going to be completely abandoned, and I should remove it as a dependency from all our projects?

Unlike ggplot, Plotly R documentation is so hard to reference within Rstudio since all the options are stored in generic lists. I constantly require the web references up because the options are generally quite cryptic. Maybe I'm missing some local option, I know that I can dig through schema() but that is generally an awful experience.

SpikyClip avatar Oct 23 '25 20:10 SpikyClip

Hi everyone, long time maintainer of the R package here.

Posit (my employer) will be funding a contractor to help me migrate the plotly docs to a new location. We'll also be coordinating with Plotly so that plotly.com/r will continue to be available until that work is done -- only then will plotly.com/r point you to a new location.

More generally, I want to highlight that Plotly's announcement changes nothing about the state of the R package. I have been (solo) maintaining the R package on a part-time basis at Posit for the last 7 years and will continue doing so. Both Posit and I view Plotly R as a critical piece of the overall R experience, so we won't abandoning it anytime soon.

Relatedly, I'd like to keep the discussion here focused on the new plotly.com/r experience. If there are questions or suggestions for future development, please open a new issue.

cpsievert avatar Oct 24 '25 14:10 cpsievert