On Feb 19, 2009, at 11:20 , Yihui Xie wrote:

Well, for the first idea, isn't it easy enough to fulfill zooming or panning using getGraphicsEvent() in the grDevices package?

Yes, but that's exactly what interactive graphics are NOT about (you just posted a good "chewing gum" reference from my previous e- mail ;)). You can put together ad-hoc hacks (and many have tried it in R before), but the result will not be general interactive graphics. What people don't realize is that a lot in IG software is about user interface and HCI. Having one-shot tools for very specific tasks doesn't really help to solve the big picture (although it may sort of solve your specific immediate problem). There are many good interactive software applications out there, but just linking them to R is just half of the story.

What we need is a more general framework for interactive graphics - this requires more than just a graphics subsystem - you have to depart from the concept of graphics objects and include "statistical objects" in the mix such that the underlying data/statistics etc. can be identified by linking back though the graphics. This is something we still lack in R --- but I hope we will get there sooner or later...

Cheers,
Simon



For example
(using keys +/-/Left/Right/Up/Down/* to zoom and pan):

##################################################################
# a demo for zooming and panning in R graphics
# by Yihui Xie <xieyi...@gmail.com> Feb 20, 2009
##################################################################
# a large number of points
plot(x <- rnorm(5000), y <- rnorm(5000), xlab = "x", ylab = "y")
xylim <- c(range(x), range(y))
zoom <- function(d, speed = 0.05) {
   rx <- speed * (xylim[2] - xylim[1])
   ry <- speed * (xylim[4] - xylim[3])
   # global assignment '<<-' here!
   xylim <<- xylim + d * c(rx, -rx, ry, -ry)
   plot(x, y, xlim = xylim[1:2], ylim = xylim[3:4])
   NULL
}
# Key `+`: zoom in; `-`: zoom out
# Left, Right, Up, Down: self-explaining
# `*`: reset
# Press other keys to quit
keybd <- function(key) {
   switch(key, `+` = zoom(1), `-` = zoom(-1), Left = zoom(c(-1,
       1, 0, 0)), Right = zoom(c(1, -1, 0, 0)), Up = zoom(c(0,
       0, 1, -1)), Down = zoom(c(0, 0, -1, 1)), `*` = plot(x,
       y), "Quit the program")
}
getGraphicsEvent(onKeybd = keybd)
##################################################################

Regards,
Yihui
--
Yihui Xie <xieyi...@gmail.com>
Phone: +86-(0)10-82509086 Fax: +86-(0)10-82509086
Mobile: +86-15810805877
Homepage: http://www.yihui.name
School of Statistics, Room 1037, Mingde Main Building,
Renmin University of China, Beijing, 100872, China



On Thu, Feb 19, 2009 at 7:38 PM, Sklyar, Oleg (London)
<oskl...@maninvestments.com> wrote:
Two ideas:

1) A library for interactive plots in R

R lacks functionality that would allow displaying of interactive plots with two distinct functionalities: zooming and panning. This functionality is extremely important for the analysis of large, high frequency, data sets spanning over large ranges (in time as well). The functionality should acknowledge Axis methods in callbacks on rescale (so that it could be extended to user-specific classes for axis generation) and should have a native C interface to R (i.e. no Java, but such cross platform widgets like GTK or QT or anything similar that does not require heavy-weight add-ons). GTK has been used successfully from within R in many applications (RGtk, rgobby, EBImage etc) on both *nix and Windows, and thus could be a preferential option, it is also extremely easy to integrate into R. The existing tools (e.g. iplots) are slow, unstable and lack support for time/date plots (or actually any non- standard axes) and they are all Java. We are looking into stanard xy-plots as well as image and 3D plots. Obviously one can think of further interactivity, but this would be too much for the Summer of Code project. A good prototype would already be a step forward.

2) Cross platform GUI debugger, preferably further Eclipse integration (beyond StatET capabilities)

Tibco has recently released the S+ workbench for eclipse which has a reasonable support for non-command line debugging. In the R community, the StatET eclipse plugin mimics a lot of code development functionality of S+ workbench, but has poor support for in-line execution of R sessions in eclipse and does not have debugging capabilities. Supporting this project further, or developing a GUI debugger independent of eclipse, are both acceptable options. The debugger should allow breakpoints, variable views etc.

For both of the above, our interest is mostly on the Linux side, but one should look into cross-platform solutions.

Regards,
Oleg

Dr Oleg Sklyar
Research Technologist
AHL / Man Investments Ltd
+44 (0)20 7144 3107
oskl...@maninvestments.com

-----Original Message-----
From: r-devel-boun...@r-project.org
[mailto:r-devel-boun...@r-project.org] On Behalf Of Friedrich Leisch
Sent: 18 February 2009 22:54
To: r-devel@r-project.org
Cc: manuel.eugs...@stat.uni-muenchen.de
Subject: [Rd] Google Summer of Code 2009


Hi,

in approximately one months time mentoring institutions can propose
projects for the Google Summer of Code 2009, see

 http://code.google.com/soc/

Last year the R Foundation succesfully participated with 4 projects,
see http://www.r-project.org/SoC08/ for details.  We want to
participate again this year. Our project proposals will be managed by Manuel Eugster (email address in CC). Manuel is one of my PhD students
and mentored the Roxygen project last year. This mail is mainly
intended to make you aware of the program, Manuel will send a followup
email with more technical details in the next days.

In this phase we are looking for potential mentors who can offer
interesting projects to students. I don't think that we will get much
more than 4-6 projects, so don't be disappointed if you propose
something and don't get selected.

There are two selection steps involved: (a) The R Foundation has to
compile an official "ideas list" of projects, for which students can
apply. Last year we had 8 of those. After that, we (b) get a certain
number of slots from Google (4 last year) and all prospective project
mentors can vote on which projects actually get funding.

Currently we are looking for good ideas for phase (a). I give no
guarantees that all ideas will get on our official ideas list, what we pick depends on the number of submissions and topics, respectively. We
want to make sure to have a broad range of themes, it is unlikely,
that we will, e.g., pick 10 database projects. Also keep in mind that students have only three months time. This is not a research exercise for the students, you should have a rough idea what needs to be done.

Last year we had a majority of "infrastructure projects", and only few with focus on statistical algorithms. We got a lot of applications for
the latter, so don't hesitate to formulate projects in that
direction. Important infrastructure may get precedence over
specialized algorithms, though, because the whole community can benfit
from those. But that will be a decision in phase (b), and we are not
there yet.

Please don't send any ideas to me right now, wait for the above
mentioned email by Manuel on the technical details for idea
submission.

Best,
Fritz

--
--------------------------------------------------------------
---------
Prof. Dr. Friedrich Leisch

Institut für Statistik                          Tel: (+49 89)
2180 3165
Ludwig-Maximilians-Universität                  Fax: (+49 89)
2180 5308
Ludwigstraße 33
D-80539 München
http://www.statistik.lmu.de/~leisch
--------------------------------------------------------------
---------
  Journal Computational Statistics --- http://www.springer.com/180
         Münchner R Kurse --- http://www.statistik.lmu.de/R

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


**********************************************************************
Please consider the environment before printing this email or its attachments. The contents of this email are for the named addressees ... {{dropped:19}}

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

<zoom.pan.r>

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to