plotly / plotly/plotly.R

Plotly graphs in jupyter notebooks re-render entire page html

Open
#1,950 0 comments 0 reactions 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

When attempting to run the first graph in the getting started documents, after following the steps here, the entire page html is output ontop of the graph like in the screenshot below. This occurs for all other graphs I've tried as well.

library(plotly)
fig <- plot_ly(midwest, x = ~percollege, color = ~state, type = "box")
fig

image


Steps to Reproduce:

  1. pull the jupyter/r-notebook docker image from here with the command docker pull jupyter/r-notebook
    a. This allows you to skip the "add r-kernel" steps because the R kernel is included with the r-notebook. Specifically these two lines can be skipped:
devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec()

Alternatively, start with the jupyter/minimal-notebook and do the steps to add the R kernel.

  1. Run the docker image with docker run -p '8888:8888' -e JUPYTER_ENABLE_LAB=yes jupyter/r-notebook
  2. Open an R console and run install.packages(c('repr', 'IRdisplay', 'pbdZMQ', 'devtools')) from the setup steps
  3. Install pandoc - get to the container bash as root user. First get the container ID with docker ps then use the ID you see there in docker exec -u root -ti <container id> bash. Run apt update then apt install pandoc.
    a. Open the notebook from the link that step 2 output and you can verify pandoc is installed in /usr/bin/pandoc by opening a terminal and navigating to the /usr/bin directory.
  4. Install plotly - either use the R console or the terminal. Personally, I used the terminal and ran conda install r-plotly. I attempted with both the latest version and also with v4.9.2.2. Both showed the issue.
  5. Once that's all setup, open an R-kernel notebook and attempt to create any plotly graph. It will initially load the graph correctly, then a few seconds later, you will see the issue from the screenshot above.

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 with the linked R-in-Jupyter getting-started instructions and reproduce the example in a jupyter/r-notebook Docker container using an R-kernel notebook. Compare the initial graph rendering with the later output described in the issue; done means Plotly graphs render without appending the entire page HTML over the graph.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, jupyter-notebook, r
Domain
data-visualization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.