And yes, a way to set the vertical limits, without resorting to background "grids" would be good. Surely it must be hidden there somewhere?
On 25 April 2014 07:34, Alex Giannakopoulos <[email protected]> wrote: > Clarification: > Hm, actually it showed automatically the first time, but then needed a pd > 'show' for subsequent reruns, unless the plot window was closed. > > > On 25 April 2014 07:20, Alex Giannakopoulos <[email protected]>wrote: > >> Yup, interesting. >> I would add, though, that in the simple example I gave above, I did not >> have to use, pd 'show', it seemed to do so automatically. >> Implementation change? >> >> >> On 25 April 2014 07:12, Raul Miller <[email protected]> wrote: >> >>> I think it is. >>> >>> But the data needs to be changed slightly. >>> >>> (I have been mostly ignoring plot and pd myself, and I just now went >>> through the plot lab.) >>> >>> An important thing to understand seems to be that >>> >>> H=:|:|.V=:j./~i:2j8 >>> >>> 'pensize 2;color 50 255 255' plot H,V >>> >>> is at least roughly equivalent to: >>> >>> pd 'reset' >>> pd 'pensize 2;color 50 255 255' >>> pd H,V >>> pd show >>> >>> In other words, you can just call pd twice, once with the left argument >>> for >>> plot and once with the right argument. But since pd is breaks things out >>> into steps, you also need to start with a pd 'reset' and then do a pd >>> 'show' at the end. >>> >>> Basically, pd can tell whether you have given character data (options) or >>> numeric data (which needs to be plotted). In fact, hypothetically >>> speaking, >>> plot could maybe be rewritten as: >>> >>> plot=:3 :0 >>> '' plot y >>> : >>> pd 'reset' >>> pd x >>> pd y >>> pd 'show' >>> ) >>> >>> That's not how it works though (and I wonder what issues the current >>> implementation of plot addresses which I am currently unaware of - but >>> that's not important right now). >>> >>> Anyways, once you have the grid plotted, you can add another plot to the >>> display by doing another sequence of pd instructions for the parabola, >>> but >>> without the 'reset'. >>> >>> P=: 2<.*:i:2j32 >>> >>> pd 'pensize 2;color BLUE' >>> pd P >>> pd 'show' >>> >>> Note that since we did not do a 'reset' here, we get to keep what we have >>> already displayed. >>> >>> The problem is that the implied X axis for the parabola (0 to 32) is not >>> the same size as the grid (_2 to 2). So it looks "wrong". >>> >>> To fix this, we need to explicitly specify the values for the X axis of >>> the >>> parabola: >>> >>> pd 'reset' >>> pd 'pensize 2;color 50 255 255' >>> pd H,V >>> pd 'pensize 2;color BLUE' >>> pd (i:2j32);P >>> pd 'show' >>> >>> Finally, note that, if you prefer, >>> >>> require 'numeric' >>> steps _2 2 32 >>> >>> could have been used instead of i:2j32. >>> >>> (I am avoiding the use of the definition of 'do' for generating the X >>> values, because J already supplies a definition for 'do' which does >>> something different.) >>> >>> Thanks, >>> >>> -- >>> Raul >>> >>> >>> >>> >>> On Fri, Apr 25, 2014 at 1:43 AM, Alex Giannakopoulos < >>> [email protected]> wrote: >>> >>> > Otherwise (having just looked in the Labs) I think the "pd" verb may >>> allow >>> > you to plot different size data on the same plot. I haven't used it >>> yet, >>> > I'll check it out now, but it may be what you need. >>> > >>> > >>> > On 25 April 2014 06:36, Alex Giannakopoulos <[email protected]> >>> > wrote: >>> > >>> > > ... contd >>> > > >>> > > Using (]+0j1*P) or similar >>> > > >>> > > Also I think the intervals must be the same on one plot. If you try >>> to >>> > > mix an 8-interval with a 32-interval matrix, the 8-matrix will get >>> padded >>> > > with 0s or 0j0s, rendering a nice spider's web in the latter case. >>> You >>> > > will need to pad the 8-matrix with the values of the terminal points >>> to >>> > > avoid this. >>> > > >>> > > >>> > > On 25 April 2014 06:15, alexgian <[email protected]> wrote: >>> > > >>> > >> Further, you seem to have specified your grid in the Argand plane, I >>> > >> don't think you can mix and match with reals just like that (I may >>> be >>> > wrong >>> > >> - certainly no expert on J plotting). >>> > >> So you'd have to translate your parabola to complex coords if you >>> wanted >>> > >> to display it in the same context, I think. >>> > >> >>> > >> >>> > >> On 25 April 2014 06:00, alexgian <[email protected]> wrote: >>> > >> >>> > >>> Not quite sure what you're trying to do, but would this be a step >>> in >>> > the >>> > >>> right direction? >>> > >>> >>> > >>> >>> > >>> load 'plot' >>> > >>> >>> > >>> do=: 13 :'({.y) +(i.>:{:y)*(--/ 2{.y)%{:y' >>> > >>> >>> > >>> G=:do _2 2 32 >>> > >>> >>> > >>> P=: 2 <. *: >>> > >>> >>> > >>> plot (];P) G >>> > >>> >>> > >>> >>> > >>> In your version you have not specified x-coordinates, so it picks >>> 0-32. >>> > >>> >>> > >>> By using ] you specify the x-range >>> > >>> >>> > >>> >>> > >>> Also note that that you do not need "do", there is a plot builtin >>> > called >>> > >>> "steps": >>> > >>> >>> > >>> plot (];P) steps _2 2 32 >>> > >>> >>> > >>> would achieve the same result >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> On 25 April 2014 01:25, Linda Alvord <[email protected]> >>> wrote: >>> > >>> >>> > >>>> Can anyone help me put the parabola, P, on the graph paper without >>> > >>>> changing >>> > >>>> the scales of the graph paper. >>> > >>>> >>> > >>>> load 'plot' >>> > >>>> do=: 13 :'({.y) +(i.>:{:y)*(--/ 2{.y)%{:y' >>> > >>>> A=:do _2 2 8 >>> > >>>> V=:j./~ A >>> > >>>> H=:|:|. V >>> > >>>> 'pensize 2;color 50 255 255' plot H,V >>> > >>>> >>> > >>>> f=:*: >>> > >>>> 'pensize 2;color BLUE' plot P=: 2 <. f do _2 2 32 >>> > >>>> >>> > >>>> Linda >>> > >>>> >>> ---------------------------------------------------------------------- >>> > >>>> For information about J forums see >>> > http://www.jsoftware.com/forums.htm >>> > >>>> >>> > >>> >>> > >>> >>> > >> >>> > > >>> > ---------------------------------------------------------------------- >>> > For information about J forums see http://www.jsoftware.com/forums.htm >>> > >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >> >> > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
