<?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: JSL creating a spine line for changing group each time in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/JSL-creating-a-spine-line-for-changing-group-each-time/m-p/386710#M63681</link>
    <description>&lt;P&gt;thanks so much! this works!&lt;/P&gt;&lt;P&gt;in case anyone wants different colors in spine line&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;ColorList = {};
AList = {207, 121, 38};
BList =  {64, 111, 223};
CList =  {57, 177, 67};
DList =  {213, 72, 87};

InsertInto(ColorList, EvalList(List(AList)));
InsertInto(ColorList, EvalList(List(BList)));
InsertInto(ColorList, EvalList(List(CList)));
InsertInto(ColorList, EvalList(List(DList)));

	for (i = 1, i&amp;lt;=nitems(groupList), i++,
		insertinto(bivExpr, substitute(expr(Fit Where( :Group == _XX_, Fit Spline( 0.1, {Line Color( _YY_ )} ))), expr(_XX_), groupList[i],expr(_YY_), ColorList[i] ))
	);&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 19 May 2021 09:37:25 GMT</pubDate>
    <dc:creator>itzikd</dc:creator>
    <dc:date>2021-05-19T09:37:25Z</dc:date>
    <item>
      <title>JSL creating a spine line for changing group each time</title>
      <link>https://community.jmp.com/t5/Discussions/JSL-creating-a-spine-line-for-changing-group-each-time/m-p/386120#M63625</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I have this script:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;dt = Current Data Table();
listX = {"1","2"};
	listY = {"test1", "test2", "test3"};
	fybx = dt &amp;lt;&amp;lt; FitYByX(
		Y( Eval( listY ) ),
		X( Eval( listX ) ),
		Fit Where( :Group == "BL", Fit Spline( 0.1, Standardized, {Line Color( {213, 72, 87} )} ) ),
		try(Fit Where( :Group == "Value0", Fit Spline( 0.1, Standardized, {Line Color( {57, 177, 67} )} ) )),
		try(Fit Where( :Group == "Value1", Fit Spline( 0.1, Standardized, {Line Color( {64, 111, 223} )} ) )),
		try(Fit Where( :Group == "Value2", Fit Spline( 0.1, Standardized, {Line Color( {207, 121, 38} )} ) )),);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;it creates x by y graphs based on a list, I am now trying to add a spine line but I have 2 problems:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. the spine line should be created based on "Group" column and it might have different values (like "Value1" might be "Value4" or "Value0" can be "Value34" sometimes) so I need to find a way to create this with a list if possible&lt;/P&gt;&lt;P&gt;2. it creates 1 spine line and not 4 like I want&lt;/P&gt;&lt;P&gt;my table&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;U&gt;&lt;STRONG&gt;Group&lt;/STRONG&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;STRONG&gt;test1&lt;/STRONG&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;STRONG&gt;test2&lt;/STRONG&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;STRONG&gt;test3&lt;/STRONG&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/U&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BL&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BL&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BL&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;POR&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Value1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;POR&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Value1&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Value2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Value0&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if i do it by hand its like this:&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="itzikd_0-1621320193160.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/32915i90DADD198FC600B9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="itzikd_0-1621320193160.png" alt="itzikd_0-1621320193160.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;and then I pick by "Group" (I believe I need to add this to the script somehow)&lt;/P&gt;&lt;P&gt;then I click "flexible" --&amp;gt; "fit spline" --&amp;gt; mark the "standardize x" and click "ok"&lt;/P&gt;&lt;P&gt;and last thing I add is row legend&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="itzikd_1-1621320329850.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/32916i3FB773D0201B8704/image-size/medium?v=v2&amp;amp;px=400" role="button" title="itzikd_1-1621320329850.png" alt="itzikd_1-1621320329850.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jun 2023 19:47:07 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JSL-creating-a-spine-line-for-changing-group-each-time/m-p/386120#M63625</guid>
      <dc:creator>itzikd</dc:creator>
      <dc:date>2023-06-09T19:47:07Z</dc:date>
    </item>
    <item>
      <title>Re: JSL creating a spine line for changing group each time</title>
      <link>https://community.jmp.com/t5/Discussions/JSL-creating-a-spine-line-for-changing-group-each-time/m-p/386329#M63639</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think you're going to need to look at expression handling for this. You will start with an expression, and insert things into it... specifically you'll be adding the fit spline details into the fit y by x expression.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Expression handling has a steep learning curve, but is very powerful.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;See if this gets you on the path you want. Notice the combination of Insert Into() along with a Substitute(), which substitutes the various group levels in for _XX_ in the original expression.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;Brady&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 = current data table();

listX = {"1","2"};
listY = {"test1", "test2", "test3"};

bivExpr = expr(
Bivariate(
	Y( evallist(listY) ),
	X( evallist(listx) ),
	)
);

groupList = (associative array(dt:group &amp;lt;&amp;lt; get values)) &amp;lt;&amp;lt; get keys;

for (i = 1, i&amp;lt;=nitems(groupList), i++,
	insertinto(bivExpr, substitute(expr(Fit Where( :Group == _XX_, Fit Spline( 0.1, {Line Color( {212, 73, 88} )} ))), expr(_XX_), groupList[i] ))
);

show(nameexpr(bivExpr));
bivExpr;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 18 May 2021 13:48:35 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JSL-creating-a-spine-line-for-changing-group-each-time/m-p/386329#M63639</guid>
      <dc:creator>brady_brady</dc:creator>
      <dc:date>2021-05-18T13:48:35Z</dc:date>
    </item>
    <item>
      <title>Re: JSL creating a spine line for changing group each time</title>
      <link>https://community.jmp.com/t5/Discussions/JSL-creating-a-spine-line-for-changing-group-each-time/m-p/386710#M63681</link>
      <description>&lt;P&gt;thanks so much! this works!&lt;/P&gt;&lt;P&gt;in case anyone wants different colors in spine line&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;ColorList = {};
AList = {207, 121, 38};
BList =  {64, 111, 223};
CList =  {57, 177, 67};
DList =  {213, 72, 87};

InsertInto(ColorList, EvalList(List(AList)));
InsertInto(ColorList, EvalList(List(BList)));
InsertInto(ColorList, EvalList(List(CList)));
InsertInto(ColorList, EvalList(List(DList)));

	for (i = 1, i&amp;lt;=nitems(groupList), i++,
		insertinto(bivExpr, substitute(expr(Fit Where( :Group == _XX_, Fit Spline( 0.1, {Line Color( _YY_ )} ))), expr(_XX_), groupList[i],expr(_YY_), ColorList[i] ))
	);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 19 May 2021 09:37:25 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/JSL-creating-a-spine-line-for-changing-group-each-time/m-p/386710#M63681</guid>
      <dc:creator>itzikd</dc:creator>
      <dc:date>2021-05-19T09:37:25Z</dc:date>
    </item>
  </channel>
</rss>

