Subscribe Bookmark RSS Feed

how to delete a graphic script in a plot

wma1125

Community Trekker

Joined:

May 9, 2012


I add mouse trap in a plot with <<add graphics script. How do I delete the mouse trap? thanks

6 REPLIES
ms

Super User

Joined:

Jun 23, 2011

You can send << remove graphics script(n) to the approprate displaybox, where n is the order of the script (I think the last added script gets n = 1).

An example:

nw = New Window( "Example",

  exx = 20,

  exy = 50;

  Graph Box( Frame Size( 200, 200 ), Circle( {0, 0}, Sqrt( exx * exx + exy * exy ) ) );

);

fb = nw[Framebox( 1 )];

fb << add graphics script(

  Mousetrap(

  exx = x;

  exy = y;

  )

);

fb << remove graphics script( 1 );

wma1125

Community Trekker

Joined:

May 9, 2012

hi MS,

it dosn't work.

ms

Super User

Joined:

Jun 23, 2011

The example script works for me in JMP 10 (Mac). But I now tried it in JMP 9.0.3 and it does not work, i.e. the last line has no effect. Seems like the remove graphics script() message is new.

What version do you use?

wma1125

Community Trekker

Joined:

May 9, 2012

i'm using JMP9.

Wendy_Murphrey

Joined:

Jun 23, 2011

Yes, Remove Graphics Script is new for JMP 10.  For prior releases, you can build a user-defined function containing the graphics script, then reinitialize the function and send the Reshow message to the FrameBox to update the screen.  Here is an example:

dt = Open( "$SAMPLE_DATA\Big Class.jmp" );

_dist = Distribution(
     Stack( 1 ),
     Continuous Distribution(
          Column( :height ),
          Quantiles( 0 ),
          Moments( 0 ),
          Horizontal Layout( 1 ),
          Vertical( 0 )
     )
);
_rdist = _dist << Report;
_histframe = _rdist["height"][framebox( 2 )];

curve = Function( {},  // make a function holding the old drawing code
     mu = 62.55;
     sigma = 4.24;
     Y Function( Sqrt( 2 * Pi() ) * Normal Density( (x - mu) / sigma ) * 0.095 + 0, x );
);

_histframe << Add Graphics Script(
     Description( "NormalPDF" ),
     curve() // call the function holding the old code
);

/* how do I remove the graphics script?*/
Wait( 2 );  //For demonstration purposes only

curve = Function( {}, {} );
_histframe << reshow;

Wait( 2 );  //For demonstration purposes only
// put the script back
curve = Function( {},  // make a function holding the old drawing code
     mu = 62.55;
     sigma = 4.24;
     Y Function( Sqrt( 2 * Pi() ) * Normal Density( (x - mu) / sigma ) * 0.095 + 0, x );
);
_histframe << reshow;

I hope that helps!

Wendy
wma1125

Community Trekker

Joined:

May 9, 2012

it works!. thanks, WK