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
