你好,
我是 JSL 的新手。 我正在使用 JMP 中的图形构建器函数绘制数值与分类数据的图形,并添加椭圆以查看相关性。 我正在为未来的绘图使用脚本,但我想通过将相关性(图中用红色箭头指向)值存储在变量中的某个位置来进行一些自定义,以便我可以在某些逻辑操作中使用它。例如,如果我只想绘制相关性超过 0.45 的图形。 任何 JSL 脚本、帮助或线索将不胜感激。 以下我尝试了一些但还没有成功。
谢谢!
gb = dt << Graph Builder(
Variables( X( :"A_column"n ), Y( :"B_column"n ) ),
Elements(
Points( X, Y, Legend( 3 ) ),
Ellipse( X, Y, Legend( 4 ), Correlation( 1 ), Mean Point( 1 ) )
),
SendToReport(
Dispatch( {"Ellipse"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {"Pairwise Correlations"}, "", TableBox, {Sort By Column( 7, 1 )} )
)
);
thing_report = gb << report;
Show Properties( thing_report );
corr = biv << Get Correlation Matrix;
Show( corr );

存储用红色箭头指向的相关性。
我不确定您是否应该检查 Continuous 和 Nominal 列之间的相关性,但是......您可以使用类似这样的东西从图形生成器中导出相关性(不确定这将如何容易破坏):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(535, 457),
Show Control Panel(0),
Variables(X(:height), Y(:weight)),
Elements(Points(X, Y, Legend(3)), Ellipse(X, Y, Legend(5), Correlation(1)))
);
ts = Report(gb)[Frame Box(1)] << Find Seg("TextSeg");
corr = ts << get text;
我是如何到达那里的:
1. 创建图表生成器并打开自定义菜单。 注意到我可以更改文本元素的颜色,所以我做了

2. 为我的图形生成器获取了带有红色文本的脚本,发现颜色变化会影响 TextSeg()
Graph Builder(
Size(617, 457),
Show Control Panel(0),
Variables(X(:height), Y(:weight)),
Elements(Points(X, Y, Legend(3)), Ellipse(X, Y, Legend(5), Correlation(1))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg(TextSeg(1), {Fill Color("Medium Dark Red")})}
)
)
)
3. 检查了 Text Seg 的 Scripting Index 并找到了一种获取值的方法

嗨哈德利迈尔斯,
非常感谢您的解决方案。 在我的数据中,一列是数字,另一列是分类(主要是字符)。 我不确定如何对这种类型的数据使用多变量。 这就是我使用图形生成器和密度椭圆图来查看那里的相关性的原因。 不幸的是,您提供的解决方案不适用于我的数据。 希望得到您的回应。
再次感谢你!
你好,
我不确定是否有办法从 Graph Builder 报告中提取此数字,但使用 Multivariate 非常简单(请参见下面的脚本)。这对你有用吗?
Names Default To Here(1);
dt=open("$SAMPLE_DATA/Tablet Production.jmp");
mul=dt<<MULTIVARIATE></MULTIVARIATE>