Skip to content
Marianne Corvellec edited this page Mar 24, 2015 · 4 revisions

Update (as of March 24, 2015)

Please note that we are not accepting any more applications for the GSOC project. Nevertheless, you may apply for internship opportunities with Plotly by completing the same tests and submitting them. Thanks, Marianne

Background

plotly is the official R package for interfacing with the plot.ly interactive plotting web app. It has been part of the ROpenSci project since 2014. The goal of this GSOC project is to implement more features for the `ggplotly` function. `ggplotly` converts ggplot2 figures into interactive, web-based graph drawn with D3.js. Implementing a more complete ggplotly function is important for useRs who want to share their data and plots on the web using Plotly.

Related work

The ggplot2 package implements ggplots, which are the input data for the ggplotly function.

Many other R packages are available for data visualization on the web, and some are discussed on the CRAN Web Technologies task view.

Ideas for GSOC 2015 coding projects

An ideal student project will implement several improvements to the ggplotly functionality of the plotly package.

Mentors

Please get in touch with Chris Parmer <chris@plot.ly> and Marianne Corvellac <marianne@plot.ly> as soon as possible to discuss a more precise coding project plan.

Tests

Do one or several — doing more tests makes you more likely to be selected.

  • Easy: use the ggplotly function of the plotly package to upload a ggplot of your own design to Plotly. Send an image of the original ggplot (saved using the png graphics device in R) and a link to the plotly version in an email to Chris and Marianne.
  • Medium: To demonstrate knowledge of the Plotly API, manually construct a plotly JSON list in R (for the same data set that you used for the Easy test), and upload that to Plotly. Learn more about Plotly’s JSON format in [Plotly’s online R docs](https://plot.ly/r).
py <- plotly("USER", "PASS")
py$plotly(my.json.list)
  • Hard: using the same data set, write a testthat unit test for the salient features of your plot.