A good example of not only interactive but informative and intuitive Plot is Wave Viewer
http://www.jsoftware.com/jwiki/Addons/media/wav#viewer which is a special case of time series. One concept it uses is Lens, which shows the whole data and the Detail subset selection. Both views allow panning with the mouse, so the other concept is Direct Manipulation (like iPhone), as opposed to side controls. There is a side control for zooming though, which is implemented as familiar slider (like iPhoto). Imitation is the sincerest form of flattery, but using these things together for Plots is quite innovative. This example is simple in implementation, due to being specialized. To make it more generic, there need to be more design thinking. If you look closer, some of mouse movements are not precisely mapped to curve positions. There reason is that there wasn't enough plot properties available. Here's the idea: the plot has the following types of nested "min-x" offsets, not all of which are readily identifiable: |sub-plot |axis |data +-------- +------- +------ ........................ isigraph .................... > From: Devon McCormick <[EMAIL PROTECTED]> > > Simon - we've started a project at NYCJUG along these lines though I have > yet to add a wiki page for the project itself. Take a look at > http://www.jsoftware.com/jwiki/NYCJUG/2008-09-09#head-6e7a10cb775e5926446cce741610345806857c00to > see what's been done on this so far. > > I'll take a look at your questions in more detail in a couple of days to see > if I have any relevant suggestions to your specific queries. In the > meantime, please keep the list updated on whatever you find out as this is a > topic interesting to many of us. > From: Chris Burke <[EMAIL PROTECTED]> > > Simon Gibbon wrote: > > Having used plot to produce a range of graphics, I am now trying to add > > extra features interactively to the plots produced computationally i.e. > > clicking on the plot working out the co-ordinates and then adding a line or > > text to the existing plot without redrawing it. Having I think read the > > excellent plot documentation I feel I am still missing something and would > > appreciate pointing the right direction. > > So my simplistic method is to tie a function to the right mouse button, this > > is demonstrated in the routine "testplot_plotspace_mbrdown" in the example > > code below. This code draws a plot with a straight line and then when you > > right click on the graph it plots a vertical line where you have clicked. > > However, this a hack having discovered the variables I need (XMIN, XMAX, > > YMIN, YMAX), not from the documentation but from looking at the namespace. > > > > So I have 3 questions: > > 1 is this a sensible way to do such interactive plotting (simple way), > > Sounds reasonable to me. These issues are still on the todo list, and > hence are not well documented. > > > 2 Gxywh, Sxywh etc are well documented in the Wiki under the Plot / Layout > > Calculation page is there another similar variable which reports the user > > units of the maximum X and Y used in the actual plot as the XRANGE variable > > is the range of the data not the range over which the data is plotted. > > I believe the values you are looking for are YMin and YMax. > > > 3 is there a way to swap between YAXIS and Y2AXIS, as I would like to be > > able to get x and y user co-ordinates back from either scaling, currently it > > appears to lock the axis scaling (ymin, ymax) to the Y2AXIS as the last one > > used. > > Good point, the second y axis overwrites globals created for the first, > and there is no way to recover them. It would be better to create a > second set of globals for the second axis. > > Incidentally, this should have been posted to the programming forum, > thanks. General is for announcements, installation issues etc. See > http://www.jsoftware.com/jwiki/System/Forums . ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
