Protovis, R and nodejs

1,806 views
Skip to first unread message

Jamie Love

unread,
Mar 26, 2010, 6:43:45 AM3/26/10
to prot...@googlegroups.com
Hi all,

I thought some of you may get some enjoyment out of this.

I've created a web based frontend for the statistical analysis package 'R', using protovis for drawing graphs. See the attached screenshots for a bit of a teaser.

It uses Protovis, jquery and ExtJS core on the front-end. Most R commands are passed back to the server and their results returned to the client. Some, such as the graph commands, are parsed and the arguments used in javascript re-implementations of the R commands (e.g. the R command 'plot' has a protovis equivalent).

The server side is R+Rserve, and to connect the browser client to the R server I use a nodejs based application server.

I will be uploading the code to Gitorious in the near future (once I get the licenses sorted out).

The http://cran.r-project.org/doc/manuals/R-intro.pdf file includes "a sample session". The frontend can be used to run most of this sample session.

Projects I've utilised in this include:

Protovis - http://vis.stanford.edu/protovis/
Nodejs - http://nodejs.org/
R - http://www.r-project.org/
Rserve  - http://www.rforge.net/Rserve/doc.html
Shjs - http://shjs.sourceforge.net/


PS: I realise that a demo is significantly better than screenshots, and even had a jail'ed R instance set up and running, but have decided to not provide a link as R provides to much significant access to the server (via it's system commands). If you're interested in having an interactive session, please email me privately.

In the second screenshot you see the results of the R command 'plot(x, y)' (with my reimplementation of plot doing the actual plotting), and in the fourth screenshot you see a similar plot command along with a subsequent best fit line (data points calculated with 'lowess()') drawn in.

Regards
Jamie
R1.png
R2.png
R3.png
R4.png

Pedro Alves

unread,
Mar 26, 2010, 7:16:10 AM3/26/10
to prot...@googlegroups.com, Jamie Love

This is *awesome* Jamie! Congrats, I'll surely follow this closely

-pedro

> --
> You received this message because you are subscribed to the Google
> Groups "protovis" group.
> To post to this group, send email to prot...@googlegroups.com.
> To unsubscribe from this group, send email to
> protovis+u...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/protovis?hl=en.

Aureliano Calvo

unread,
Mar 26, 2010, 7:37:24 AM3/26/10
to prot...@googlegroups.com
Amazing work!!!!!

Robert Kosara

unread,
Mar 26, 2010, 10:17:42 AM3/26/10
to prot...@googlegroups.com
Very cool! Any chance you're going to open source this?

--

omomyid

unread,
Mar 26, 2010, 12:18:18 PM3/26/10
to protovis
Jamie,
that's pretty freakin' awesome. Will be waiting impatiently to see a
live version!

On Mar 26, 3:43 am, Jamie Love <drjl...@gmail.com> wrote:
> Hi all,
>
> I thought some of you may get some enjoyment out of this.
>
> I've created a web based frontend for the statistical analysis package 'R',
> using protovis for drawing graphs. See the attached screenshots for a bit of
> a teaser.
>
> It uses Protovis, jquery and ExtJS core on the front-end. Most R commands
> are passed back to the server and their results returned to the client.
> Some, such as the graph commands, are parsed and the arguments used in
> javascript re-implementations of the R commands (e.g. the R command 'plot'
> has a protovis equivalent).
>
> The server side is R+Rserve, and to connect the browser client to the R
> server I use a nodejs based application server.
>
> I will be uploading the code to Gitorious in the near future (once I get the
> licenses sorted out).
>

> Thehttp://cran.r-project.org/doc/manuals/R-intro.pdffile includes "a


> sample session". The frontend can be used to run most of this sample
> session.
>
> Projects I've utilised in this include:
>
> Protovis -http://vis.stanford.edu/protovis/
> Nodejs -http://nodejs.org/
> R -http://www.r-project.org/
> Rserve  -http://www.rforge.net/Rserve/doc.html

> Shjs -http://shjs.sourceforge.net/


>
> PS: I realise that a demo is significantly better than screenshots, and even
> had a jail'ed R instance set up and running, but have decided to not provide
> a link as R provides to much significant access to the server (via it's
> system commands). If you're interested in having an interactive session,
> please email me privately.
>
> In the second screenshot you see the results of the R command 'plot(x, y)'
> (with my reimplementation of plot doing the actual plotting), and in the
> fourth screenshot you see a similar plot command along with a subsequent
> best fit line (data points calculated with 'lowess()') drawn in.
>
> Regards
> Jamie
>

>  R1.png
> 53KViewDownload
>
>  R2.png
> 52KViewDownload
>
>  R3.png
> 70KViewDownload
>
>  R4.png
> 53KViewDownload

Mike Bostock

unread,
Mar 26, 2010, 12:51:57 PM3/26/10
to prot...@googlegroups.com
Awesome, Jamie! This is very exciting. Looking forward to playing with
the demo and seeing the source!

Mike

Jamie Love

unread,
Mar 28, 2010, 4:41:50 AM3/28/10
to prot...@googlegroups.com
Thanks everyone for the enthusiasm.

To answer Robert's question, yes it is going to be open-sourced. I'm just getting the licensing sorted, and writing an INSTALL file and makefile.

Jamie

Jamie

unread,
Mar 28, 2010, 6:06:50 AM3/28/10
to protovis

Hi all,

For those that are interested, you can find the source code for this
system at:

http://gitorious.org/r-node

Some simplistic install instructions are included. If you have trouble
or questions, email me privately.

Now that I've got all that sorted out... back to adding more
features.

Reply all
Reply to author
Forward
0 new messages