使用 JSL 连接所需点
如附图所示,我想在图形生成器中用一条线连接所需的坐标值。
有人知道怎么做吗?
我想在PCB上表达尺度的变化,请告诉我如何用上述方式表达。
数据探索与可视化实验设计大规模定制回复:使用 JSL 连接所需点如附图所示,我想在图形生成器中连接到所需的坐标值线,
有人知道怎么做吗?
我想在PCB上表达尺度的变化,但请给我一种按照上述方式表达的方法。
回复:使用 JSL 连接所需点欢迎来到 JMP 社区。
您想以交互方式还是使用 JSL 来执行此操作?
交互方式
您可以使用注释工具绘制线条、多边形、圆形等。

您也可以右键单击图形窗口并选择自定义

并添加线条、矩形等。

使用 JSL
上面的最后一个示例实际上是一种从交互式使用过渡到使用 JSL 编写脚本的方法。如果您正在寻找 JSL 解决方案,JMP 提供了一整套图形基元,可用于绘制您需要的任何线条、对象、文本等。
图形框
有一个名为图形框 (Graph Box) 的显示对象,其目的是提供一个空白的显示框来绘制任何想要的内容。

Names Default To Here( 1 );
New Window( "Example",
Graph Box(
Frame Size( 300, 300 ),
Marker( Marker State( 3 ), [11 44 77], [75 25 50] );
Pen Color( "Blue" );
Line( [10 30 70], [88 22 44] );
)
);
添加图形脚本
JMP 还具有通过 JSL 将图形添加到任何 JMP 平台的任何图形输出的功能。Graph Builder 就是其中一个 JMP 平台。

names default to here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
3,
Properties( 0, {Line Color( 2 )}, Item ID( "height", 1 ) )
)}
)
)
);
framebox = report(gb)[frame box( 1 )];
framebox << Add Graphics Script(
Transparency( 0.5 );
Fill Color( {1.0, 0.5, 0.0} );
Polygon( [60, 72, 57], [75, 120, 120] );
Pen size( 3 );
pen color ( 1 );
line( {80,60}, {140,65});
);回复:使用 JSL 连接所需点我将根据您之前对其他人的问题的回答再次向您提问。
我想把下面数据中的点以封闭的正方形连接起来,连接相同的四边形。
如果有办法的话请告诉我。
我想将类别项目叠加在一张图表上,以显示规模缩小了多少。
| 类别 | 四人 | 观点 | 小路 | X | Y |
| 计算机辅助设计 | 问题 1 | 1 | 4 | 492.35 | 489.45 |
| 计算机辅助设计 | 问题 1 | 2 | 3 | 492.35 | 267.65 |
| 计算机辅助设计 | 问题 1 | 3 | 1 | 265.15 | 489.45 |
| 计算机辅助设计 | 问题 1 | 4 | 2 | 265.15 | 267.65 |
| 计算机辅助设计 | 第二季度 | 5 | 4 | 492.35 | 247.35 |
| 计算机辅助设计 | 第二季度 | 6 | 3 | 492.35 | 25.55 |
| 计算机辅助设计 | 第二季度 | 7 | 1 | 265.15 | 247.35 |
| 计算机辅助设计 | 第二季度 | 8 | 2 | 265.15 | 25.55 |
| 计算机辅助设计 | 第三季度 | 9 | 4 | 244.85 | 489.45 |
| 计算机辅助设计 | 第三季度 | 10 | 3 | 244.85 | 267.65 |
| 计算机辅助设计 | 第三季度 | 11 | 1 | 17.65 | 489.45 |
| 计算机辅助设计 | 第三季度 | 12 | 2 | 17.65 | 267.65 |
| 计算机辅助设计 | Q4 | 十三 | 4 | 244.85 | 247.35 |
| 计算机辅助设计 | Q4 | 14 | 3 | 244.85 | 25.55 |
| 计算机辅助设计 | Q4 | 15 | 1 | 17.65 | 247.35 |
| 计算机辅助设计 | Q4 | 16 | 2 | 17.65 | 25.55 |
| 木板 | 问题 1 | 1 | 4 | 492.336 | 489.438 |
| 木板 | 问题 1 | 2 | 3 | 492.339 | 267.64 |
| 木板 | 问题 1 | 3 | 1 | 265.143 | 489.445 |
| 木板 | 问题 1 | 4 | 2 | 265.149 | 267.649 |
| 木板 | 第二季度 | 5 | 4 | 492.341 | 247.342 |
| 木板 | 第二季度 | 6 | 3 | 492.352 | 25.544 |
| 木板 | 第二季度 | 7 | 1 | 265.15 | 247.351 |
| 木板 | 第二季度 | 8 | 2 | 265.159 | 25.554 |
| 木板 | 第三季度 | 9 | 4 | 244.843 | 489.446 |
| 木板 | 第三季度 | 10 | 3 | 244.85 | 267.65 |
| 木板 | 第三季度 | 11 | 1 | 17.646 | 489.455 |
| 木板 | 第三季度 | 12 | 2 | 17.657 | 267.658 |
| 木板 | Q4 | 十三 | 4 | 244.851 | 247.352 |
| 木板 | Q4 | 14 | 3 | 244.859 | 25.555 |
| 木板 | Q4 | 15 | 1 | 17.658 | 247.359 |
| 木板 | Q4 | 16 | 2 | 17.666 | 25.561 |
| 接触 | 问题 1 | 1 | 4 | 492.339 | 489.441 |
| 接触 | 问题 1 | 2 | 3 | 492.337 | 267.644 |
| 接触 | 问题 1 | 3 | 1 | 265.146 | 489.442 |
| 接触 | 问题 1 | 4 | 2 | 265.144 | 267.646 |
| 接触 | 第二季度 | 5 | 4 | 492.347 | 247.346 |
| 接触 | 第二季度 | 6 | 3 | 492.347 | 25.55 |
| 接触 | 第二季度 | 7 | 1 | 265.154 | 247.346 |
| 接触 | 第二季度 | 8 | 2 | 265.154 | 25.55 |
| 接触 | 第三季度 | 9 | 4 | 244.845 | 489.45 |
| 接触 | 第三季度 | 10 | 3 | 244.845 | 267.654 |
| 接触 | 第三季度 | 11 | 1 | 17.653 | 489.45 |
| 接触 | 第三季度 | 12 | 2 | 17.652 | 267.654 |
| 接触 | Q4 | 十三 | 4 | 244.855 | 247.355 |
| 接触 | Q4 | 14 | 3 | 244.855 | 25.559 |
| 接触 | Q4 | 15 | 1 | 17.662 | 247.354 |
| 接触 | Q4 | 16 | 2 | 17.662 | 25.558 |
回复:使用 JSL 连接所需点以下是使用您的数据并在 Graph Builder 上以线条形式显示的示例

以下是使用图形框显示的数据

Names Default To Here( 1 );
dt = Current Data Table();
dt << Sort(
By( :category, :Quad, :Path ),
Order( Ascending, Ascending, Descending ),
Replace Table( 1 )
);
dtPoly = dt << summary( group( :category, :quad ), link to original table(0) );
New Window( "Example",
Graph Box(
Frame Size( 300, 300 ),
X Scale( Col Min( dt:x ) - 50, Col Max( dt:x ) + 50 ),
Y Scale( Col Min( dt:y ) - 50, Col Max( dt:y ) + 50 ),
Pen Color( "Black" );
For( i = 1, i <= N Rows( dtPoly ), i++,
theRows = dt << get rows where(
dt:category == dtPoly:category[i] & dt:quad == dtPoly:quad[i]
);
theRows = theRows |/ Matrix( theRows[1] );
Line( dt:X[theRows], dt:Y[theRows] );
);
)
);
我不确定你具体在寻找什么。