plotly / plotly/plotly.R

plotly core (a community vote for a simple wrapper to plotly.js)

Open
#2,484 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
R
Stars
2.7k
Forks
641
PR merge metrics
No merged PRs in 30d

Description

Hello, long time user of plotly.R here. I thought this issue could start the discussion to split up the package into a core and a full ggplotly supported package.

As many have noted, I also started using plotly from the ggplot2 interface of ggplotly,
but as times are changing, and I am getting to understand the drawbacks of wrapping things through ggplot more,
we are moving more and more away from it.

In our RiboCrypt app, we have for optimizations reasons removed all ggplotly calls and transformed to native plot_ly() calls. We experiment with optimizations like pre-building plotly template objects, to speed up "time to user see something useful".
And since this is an app for complicated genomics, R/bioconductor is still a far better fit than python.

A problem has been the last few year that new plotly.R versions break stuff, so I have to keep version set to a version I know works. Problem is that new version needs to pass not just plotly.js tests, but also ggplotly tests for regression, so it is currently much more complicated than it needs to be.

I vote for a clean split of the package, for existing popular R package doing this, see for example the fst package, which has fst and fstcore

plotlycore: Simple wrapper to plotly.js
plotly: Uses plotlycore + ggplotly interface.

This way I think it is more safe especially for people using it for actual production apps and not just scripting.

I thought we could discuss here what people have noticed lately, what the relevant goals of current maintainers are, what resources exist to do this etc.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the proposed split between a simple plotly.js wrapper and the ggplotly-supported package, then compare the fst/fstcore example linked in the issue. Review the current plotly.R package structure and its plot_ly(), ggplotly, and regression-test responsibilities. Done means the maintainers agree on concrete package boundaries and implementation goals.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, r
Domain
data-visualization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.