如何构建与平均值相差 3 个标准差而不是 1 个标准差的折线图?
我很荣幸你说@txnelson - 只花了 4 年;)
我几乎每天都会学到有关 JMP 的新知识。谢谢@Florian_Vogt
嗨@PowerPlatypus37 ,
您应该能够通过手动计算您想要的误差线范围值来获得此值。
为此,请使用列公式和“分组依据”函数来计算相应的范围。
然后在Graph Builder中,您可以先构建图表。然后选择误差条并将包含范围值的列拖到右侧的“间隔”放置区域中。 (请参见此处:https: //www.jmp.com/support/help/en/17.2/index.shtml#page/jmp/graph-zones.shtml# )

(注意,在本例中,我没有计算误差线的不同值=它们在这里的宽度相同)。
希望这可以帮助!
最好的
弗洛里安
我知道如何执行此操作的唯一方法是使用 JSL 中可用的图形基元添加错误栏。
@Florian_Vogt在他的回复中提供了如何设置自定义误差线的指针。他的回答是处理问题的正确方法。
下面是一个非常简单的示例,使用非常基本的结构化代码来说明如何将图形元素添加到现有图形中。这是一项值得了解的好技术,但不是此讨论问题的正确答案,除非您使用的是 JMP 13 或更早版本。

</CODE></PRE>
<PRE><CODE class=" language-jsl">Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dt:age << modeling type( continuous );
gb = Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ), Overlay( :sex ) ),
Elements( Line( X, Y, Legend( 4 ), Error Interval( "None" ) ) )
);
dtSum = dt << Summary(
invisible,
Group( :sex, :age ),
Mean( :height ),
Std Dev( :height ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "stat" ),
Link to original data table( 0 )
);
sexList = dtSum:sex << get values;
ageMat = dtSum:age << get values;
meanMat = dtSum:Mean << get values;
stdMat = dtSum:Std Dev << get values;
close( dtSum, nosave );
gbf = Report( gb )[FrameBox( 1 )];
gbf << add graphics script(
ymin=999999999999;
ymax=-999999999999;
ls = {0, 0};
le = {0, 0};
For Each( {row, i }, ageMat,
If( sexList[i] == "F",
Pen Color( "Blue" ),
Pen Color( "red" )
);
Pen Size( 1 );
ls[1] = ageMat[i];
ls[2] = meanMat[i] - 3 * stdMat[i];
if(ls[2]<YMIN>ymax, ymax=le[2]);行(ls,le); // 底线 ls[1] =ageMat[i] - .1; le[1] = 年龄Mat[i] + .1; ls[2] = MeanMat[i] - 3 * stdMat[i]; le[2] = MeanMat[i] - 3 * StdMat[i];行(ls,le); // 底线 ls[2] =meanMat[i] + 3 * StdMat[i]; le[2] = MeanMat[i] + 3 * StdMat[i];行(ls,le); ); ); // 设置Y轴最大和最小范围report(gb)[AxisBox(2)] << Max( ymax ) << Min(ymin);</YMIN>