cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Learn how to build custom Python data connectors and further customize JMP’s Data Connector Framework with the Python Data Connector Demo, available now in the JMP Marketplace!
  • See how to create experiments to support product design and ID useful product features. Register for June 12 webinar, 2pm US Eastern Time.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
Thierry_S
Super User

GraphBuilder > FrameBox << Add Graphics Script (V Line (x,y1,y2)): dynamically assign x, y1, and y2?

Hi JMP Community,

It's my turn to be stumped by an apparently trivial project.

I'm trying to dynamically add V Lines to a Graph Builder plot and I'm getting rather unexpected results with the test script below:

Names Default to Here (1);

dt = New Table ("TEST", 
	New Column ("X", Set Values ([1,2,3,4,5])),
	New Column ("Y", Set Values ([3,2,5,8,6]))
		
);

gb = dt << Graph Builder(
			Fit to Window( "Off" ),
			Level Frame Color( "Medium Dark Gray" ),
			Level Spacing Color( "Medium Dark Gray" ),
			Level Underline( 1 ),
			Page Level Underline( 0 ),
			Spacing Borders( 1 ),
			Variables( X( :X ), Y( :Y ) ),
			Elements( Points( X, Y, Legend( 5 ) ) )
			);

gbr = gb << report;


Ypos1 = 2;
Ypos2 = 6;

For (i = 1, i<=5, i++,
		
				Xpos = i;
				
				gbr [Framebox (1)] << Add graphics Script (
	
					Pen color (Green);
					V Line (1,4,6);	
					Pen color (Red);
					V Line (Xpos, Ypos1, Ypos2);
					Pen color (blue);
					V Line (i, 6,8);
	
				)
);	

I get the green V Line correctly placed, I get one red V Line positioned at X = 5, and no blue line.

I tried adding Eval Expr (Expr()) for the entire expression and within the graphic script without success, so I'm sure that there is a simple solution that is escaping me at this late hour.

Any help would be greatly appreciated.

Thanks,

TS

Thierry R. Sornasse
2 ACCEPTED SOLUTIONS

Accepted Solutions
jthi
Super User

Re: GraphBuilder > FrameBox << Add Graphics Script (V Line (x,y1,y2)): dynamically assign x, y1, and y2?

I seem to be able to get blue lines with eval(evalexpr(:

Eval(EvalExpr(gbr [Framebox (1)] << Add graphics Script (

	Pen color (Green);
	V Line (1,4,6);	
	Pen color (Red);
	V Line (Xpos, Ypos1, Ypos2);
	Pen color (Blue);
	V Line (Expr(i), 6,8);

)))

jthi_0-1615453483308.png

 

Using JMP15.2.1

-Jarmo

View solution in original post

pauldeen
Level VI

Re: GraphBuilder > FrameBox << Add Graphics Script (V Line (x,y1,y2)): dynamically assign x, y1, and y2?

For (i = 1, i<=5, i++,
		
				Xpos = i;
				
				Eval(EvalExpr(gbr [Framebox (1)] << Add graphics Script (
	
					Pen color (Green);
					V Line (1,4,6);	
					Pen color (Red);
					V Line (expr(Xpos), expr(Ypos1), expr(Ypos2));
					Pen color (blue);
					V Line (expr(i), 6,8);
	
				)))
);	

pauldeen_0-1615457793746.png

 

 

View solution in original post

2 REPLIES 2
jthi
Super User

Re: GraphBuilder > FrameBox << Add Graphics Script (V Line (x,y1,y2)): dynamically assign x, y1, and y2?

I seem to be able to get blue lines with eval(evalexpr(:

Eval(EvalExpr(gbr [Framebox (1)] << Add graphics Script (

	Pen color (Green);
	V Line (1,4,6);	
	Pen color (Red);
	V Line (Xpos, Ypos1, Ypos2);
	Pen color (Blue);
	V Line (Expr(i), 6,8);

)))

jthi_0-1615453483308.png

 

Using JMP15.2.1

-Jarmo
pauldeen
Level VI

Re: GraphBuilder > FrameBox << Add Graphics Script (V Line (x,y1,y2)): dynamically assign x, y1, and y2?

For (i = 1, i<=5, i++,
		
				Xpos = i;
				
				Eval(EvalExpr(gbr [Framebox (1)] << Add graphics Script (
	
					Pen color (Green);
					V Line (1,4,6);	
					Pen color (Red);
					V Line (expr(Xpos), expr(Ypos1), expr(Ypos2));
					Pen color (blue);
					V Line (expr(i), 6,8);
	
				)))
);	

pauldeen_0-1615457793746.png

 

 

Recommended Articles