TechPolicy.ca » R, and kindly contributed to Want to share your content on R-bloggers? [This article was first published on, and kindly contributed to R-bloggers ]. (You can report issue about the content on this page here Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Developing web-friendly data visualizations is not very difficult, though as far as I know, a package that allows one to do this directly in R does not exist (e-mail me if you know of one). As someone who has been developing lots of data-oriented software tools, it’s always nice to post visualizations online. To facilitate this task, I’ve been fooling around with creating a data visualization prototype in R. While the package is very limited in what it does, I hope it’ll generate a discussion on the types of visualization tools that could help R users post their work on the web.

At this stage, the package has three functions to illustrate scatter plots, line graphs, and social networks. Each function creates a new directory with all the necessary JavaScript and HTML files. The HTML file could then be embedded using an inline frame (as done below) or used as a standalone website.

You can download the prototype here, and below are some examples of visualizations.

Scatter Plot

x = rnorm(25)

y = rnorm(25)

wv.scatterplot(x, y, "/wv-scatterplot", height=300, width=300, marginsize=0.1)



Your browser does not support inline frames.



Line Graph

x = -100:100/10

y = sin(x)

wv.lineplot(x, y, "/wv-lineplot", height=300, width=300, marginsize=0.1)



Your browser does not support inline frames.



Social Network

library(igraph)

g



Your browser does not support inline frames.



Next Steps

I apologize in advance, as some of the code above may be buggy and it certainly isn’t very customizable. The next step — assuming there’s interest — is to abstract the graph drawing to individual functions so one can then produce multiple graphs in one canvas or frame. Making more options for interactivity, labels, and so on is also a must. Again, comments and suggestions are very welcome.