<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How do I add ref lines to multiple Y in scatterplot Matrix? in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/How-do-I-add-ref-lines-to-multiple-Y-in-scatterplot-Matrix/m-p/762972#M94367</link>
    <description>&lt;P&gt;At least you will have to abs to abs[x] as currently you are setting all the limits to all axisboxes&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1); 

dt = Open("$SAMPLE_DATA/Big Class.jmp");

cols = {"height", "weight"};

lsls = {55, 80};
usls = {70, 160};

spm = dt &amp;lt;&amp;lt; Scatterplot Matrix(
	Y(Eval(cols)),
	X(:age),
	Fit Line(0)
);

abs = Report(spm) &amp;lt;&amp;lt; XPath("//AxisBox");
Remove From(abs, N Items(abs)); // Drop x-axis

For (x=1, x &amp;lt;= N Items(abs), x++,
	Eval(EvalExpr(
		abs[x] &amp;lt;&amp;lt; Add Ref Line(Expr(lsls[x]), "Dashed", blue, Expr(Char(lsls[x])), 1);
		abs[x] &amp;lt;&amp;lt; Add Ref Line(Expr(usls[x]), "Dashed", blue, Expr(Char(usls[x])), 1);
	))
);
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 10 Jun 2024 04:38:43 GMT</pubDate>
    <dc:creator>jthi</dc:creator>
    <dc:date>2024-06-10T04:38:43Z</dc:date>
    <item>
      <title>How do I add ref lines to multiple Y in scatterplot Matrix?</title>
      <link>https://community.jmp.com/t5/Discussions/How-do-I-add-ref-lines-to-multiple-Y-in-scatterplot-Matrix/m-p/762845#M94301</link>
      <description>&lt;P&gt;I have a question about adding ref lines to multiple Y in Scatterplot Matrix.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I succeed to get ref line values.&lt;/P&gt;&lt;P&gt;but, I don't know how to add.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to know add ScaleBox to every "Y"s.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For exaple,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//sel_colnames = {"SPK_VOS_TrimCode_Dec", "SPK_RCV_VOS_TrimCode_Dec", "SPK_RCV_VOS_Post_0p5W"};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;upper_limit = {10, 1, 15, 0.75};&lt;BR /&gt;lower_limit = {-10, 0.5, -15, -0.75};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to add upper_limit &amp;amp; lower_limit to the below chart.&lt;/P&gt;&lt;P&gt;Also, I want to adjust Y axis scales for each "Y"s.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NagneTE1_0-1717752392379.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/64983i2AA64C3F6B5FC26B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="NagneTE1_0-1717752392379.png" alt="NagneTE1_0-1717752392379.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//JSL for multiple "Y"s - please give me an advice on it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);


dt adress = pick file({"All Files|*"});
dt = Open(
	dt adress,
	columns(
	),
	Import Settings(
		End Of Line( CRLF, CR, LF ),
		End Of Field( Comma, CSV( 1 ) ),
		Strip Quotes( 0 ),
		Use Apostrophe as Quotation Mark( 0 ),
		Use Regional Settings( 0 ),
		Scan Whole File( 1 ),
		Treat empty columns as numeric( 0 ),
		CompressNumericColumns( 0 ),
		CompressCharacterColumns( 0 ),
		CompressAllowListCheck( 0 ),
		Labels( 0 ),
		Column Names Start( 1 ),
		Data Starts( 47 ),
		Lines To Read( "All" ),
		Year Rule( "20xx" )
	)
);


//Delete unnecessary columns
dt=Current Data Table ();
dt &amp;lt;&amp;lt; Delete Columns( :"Column 2"n, :"Column 3"n, :"Column 4"n, :"Column 5"n);
dt &amp;lt;&amp;lt; delete row( 6 );


// Split dt -&amp;gt; dt(value of test item) &amp;amp; dt_item(upper&amp;amp;lower limit of test item)
dt &amp;lt;&amp;lt; select rows({1,2,3,4,5}) ;
dt_item = subset( dt );
dt &amp;lt;&amp;lt; delete rows( {2,3,4,5} );


// Replace column names with Test Name (*dt)
For( c = 1, c &amp;lt; N Col( dt ), c ++,
 Column( dt, c ) &amp;lt;&amp;lt; Set Name( Column( dt, c )[1] );
);
// Replace column names with Test Name (*dt_item)
For( c = 1, c &amp;lt; N Col( dt_item ), c ++,
 Column( dt_item, c ) &amp;lt;&amp;lt; Set Name( Column( dt_item, c )[1] );
);

dt &amp;lt;&amp;lt; delete rows( {1} );
dt_item &amp;lt;&amp;lt; delete rows( {1} );


//Change Data Type to Numeric&amp;amp;Continuous (*dt)
colList = dt &amp;lt;&amp;lt; get column names(charater);

For(i=1,i&amp;lt;=n items(colList), i++,
column(dt, colList[i]) &amp;lt;&amp;lt; Data Type( Numeric ) &amp;lt;&amp;lt; Set Modeling Type( Continuous );
);
//Change Data Type to Numeric&amp;amp;Continuous (*dt_item)
colList = dt_item &amp;lt;&amp;lt; get column names(charater);

For(i=1,i&amp;lt;=n items(colList), i++,
column(dt_item, colList[i]) &amp;lt;&amp;lt; Data Type( Numeric ) &amp;lt;&amp;lt; Set Modeling Type( Continuous );
);


///Data processing done.



//Select Test Item for Scatterplot Matrix
colDlg = Column Dialog(
	Title( "Test Item Selct" ),
	ycol = Col List( "Test Item", Min Col( 1 ), Max Col(15) ), //
);


//Read Test Item's Test Number, Upper &amp;amp; Lower Limit 
n = N Items( colDlg["ycol"] );

dt_item &amp;lt;&amp;lt; Select Columns( colDlg["ycol"]);

sel_colnames = dt_item &amp;lt;&amp;lt; Get Selected Columns(string); 
show(sel_colnames);


//Read Test Item's Test Number, Upper &amp;amp; Lower Limit
rowNum = 1;
col = Column( dt_item(), colDlg["ycol"]);
test_no = col[ rowNum ];
//Read UL 
rowNum = 3;
upper_limit = col[ rowNum ];
//Read LL
rowNum = 2;
lower_limit = col[ rowNum ];


//Read Test Item's Test Number, Upper &amp;amp; Lower Limit
test_no = {};
upper_limit = {};
lower_limit = {};

for(cnt=1, cnt &amp;lt;= n, cnt++,
col = Column( dt_item(), sel_colnames[cnt]);
show (col);
rowNum = 1;
test_no[cnt] = col[ rowNum ];
//Read UL 
rowNum = 3;
upper_limit[cnt] = col[ rowNum ];
//Read LL
rowNum = 2;
lower_limit[cnt] = col[ rowNum ];
);
show(test_no);	show(upper_limit);	show(lower_limit);


//Scatterplot Matrix
stm = dt &amp;lt;&amp;lt; Scatterplot Matrix(Y(colDlg["ycol"]), X( :Test Name),
	Fit Line( 0 ),
	SendToReport(
		Dispatch(
			{},
			"1100",
		),
		Dispatch( {}, "Test Name", TextEditBox, {Set Text( "Site #" )}),
		Dispatch( {}, "Scatterplot Matrix Plot", FrameBox, {Frame Size( 500, 200 )} ),
	)
);

//Close Data Tables without the report.
stm &amp;lt;&amp;lt; Journal;

close(dt,"nosave");
close(dt_item,"nosave");&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jun 2024 09:34:53 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-do-I-add-ref-lines-to-multiple-Y-in-scatterplot-Matrix/m-p/762845#M94301</guid>
      <dc:creator>NagneTE1</dc:creator>
      <dc:date>2024-06-07T09:34:53Z</dc:date>
    </item>
    <item>
      <title>Re: How do I add ref lines to multiple Y in scatterplot Matrix?</title>
      <link>https://community.jmp.com/t5/Discussions/How-do-I-add-ref-lines-to-multiple-Y-in-scatterplot-Matrix/m-p/762847#M94303</link>
      <description>&lt;P&gt;Here is one simplified example&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1); 

dt = Open("$SAMPLE_DATA/Big Class.jmp");

cols = {"height", "weight"};

lsls = {55, 80};
usls = {70, 160};

spm = dt &amp;lt;&amp;lt; Scatterplot Matrix(
	Y(Eval(cols)),
	X(:age),
	Fit Line(0)
);

abs = Report(spm) &amp;lt;&amp;lt; XPath("//AxisBox");
Remove From(abs, N Items(abs)); // Drop x-axis

For Each({ab, idx}, abs,
	Eval(EvalExpr(
		ab &amp;lt;&amp;lt; Add Ref Line(Expr(lsls[idx]), "Dashed", blue, "LSL", 1);
		ab &amp;lt;&amp;lt; Add Ref Line(Expr(usls[idx]), "Dashed", blue, "USL", 1);
	))
);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Using Associative Array to store limits might make the code a bit cleaner&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jun 2024 10:29:30 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-do-I-add-ref-lines-to-multiple-Y-in-scatterplot-Matrix/m-p/762847#M94303</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2024-06-07T10:29:30Z</dc:date>
    </item>
    <item>
      <title>Re: How do I add ref lines to multiple Y in scatterplot Matrix?</title>
      <link>https://community.jmp.com/t5/Discussions/How-do-I-add-ref-lines-to-multiple-Y-in-scatterplot-Matrix/m-p/762969#M94364</link>
      <description>&lt;P&gt;Thank you for your reply.&lt;/P&gt;&lt;P&gt;The example doesn't work in my JMP version 15.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I replace "For Each" syntax?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sorry. I don't know how "For Each" works.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I just replaced For Each syntax with for syntax.&lt;/P&gt;&lt;P&gt;Almost works, but Every 'Y' has the same ref line. (*limit[1] value..)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I fix it?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For Each -&amp;gt; For&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;abs = Report(stm) &amp;lt;&amp;lt; XPath("//AxisBox"); //Display Option. 
Remove From(abs, N Items(abs)); // Drop x-axis

//Show (N Items(abs));

For (x=1, x &amp;lt;= N Items(abs), x++ ,
	Eval(EvalExpr(
		abs &amp;lt;&amp;lt; Add Ref Line(Expr(lower_limit[x]), "Dashed", blue, "LSL", 1);
		abs &amp;lt;&amp;lt; Add Ref Line(Expr(upper_limit[x]), "Dashed", blue, "USL", 1);
	))
);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;*result&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NagneTE1_1-1717985229912.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/65029iF3AD84FB86C3F0BB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="NagneTE1_1-1717985229912.png" alt="NagneTE1_1-1717985229912.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Jun 2024 02:21:15 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-do-I-add-ref-lines-to-multiple-Y-in-scatterplot-Matrix/m-p/762969#M94364</guid>
      <dc:creator>NagneTE1</dc:creator>
      <dc:date>2024-06-10T02:21:15Z</dc:date>
    </item>
    <item>
      <title>Re: How do I add ref lines to multiple Y in scatterplot Matrix?</title>
      <link>https://community.jmp.com/t5/Discussions/How-do-I-add-ref-lines-to-multiple-Y-in-scatterplot-Matrix/m-p/762972#M94367</link>
      <description>&lt;P&gt;At least you will have to abs to abs[x] as currently you are setting all the limits to all axisboxes&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1); 

dt = Open("$SAMPLE_DATA/Big Class.jmp");

cols = {"height", "weight"};

lsls = {55, 80};
usls = {70, 160};

spm = dt &amp;lt;&amp;lt; Scatterplot Matrix(
	Y(Eval(cols)),
	X(:age),
	Fit Line(0)
);

abs = Report(spm) &amp;lt;&amp;lt; XPath("//AxisBox");
Remove From(abs, N Items(abs)); // Drop x-axis

For (x=1, x &amp;lt;= N Items(abs), x++,
	Eval(EvalExpr(
		abs[x] &amp;lt;&amp;lt; Add Ref Line(Expr(lsls[x]), "Dashed", blue, Expr(Char(lsls[x])), 1);
		abs[x] &amp;lt;&amp;lt; Add Ref Line(Expr(usls[x]), "Dashed", blue, Expr(Char(usls[x])), 1);
	))
);
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 10 Jun 2024 04:38:43 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-do-I-add-ref-lines-to-multiple-Y-in-scatterplot-Matrix/m-p/762972#M94367</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2024-06-10T04:38:43Z</dc:date>
    </item>
    <item>
      <title>Re: How do I add ref lines to multiple Y in scatterplot Matrix?</title>
      <link>https://community.jmp.com/t5/Discussions/How-do-I-add-ref-lines-to-multiple-Y-in-scatterplot-Matrix/m-p/762976#M94371</link>
      <description>&lt;P&gt;Thanks a lot!!&lt;/P&gt;</description>
      <pubDate>Mon, 10 Jun 2024 07:41:09 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-do-I-add-ref-lines-to-multiple-Y-in-scatterplot-Matrix/m-p/762976#M94371</guid>
      <dc:creator>NagneTE1</dc:creator>
      <dc:date>2024-06-10T07:41:09Z</dc:date>
    </item>
  </channel>
</rss>

