如何在 JMP 应用程序开发器中使用图形框大家好,
我是 JMP 的新手。 我正在构建一个 JMP 应用程序以从 JMP 表中读取数据并在 JMP 应用程序可用的图形框中绘制数据(第 1 列与第 2 列)。 我能够从表中读取数据,但无法在图形框中绘制图形。 我想我没有为图形框使用正确的脚本。
任何人都可以为我的用例解释如何在图形框中显示图形吗?
回复:如何在 JMP 应用程序构建器中使用图形框你好克威尔登,
我解决了这个错误。
我刚刚使用了 x = table:Name("Level") << Get Values;代替x = 表:级别 << 获取值。
回复:如何在 JMP 应用程序构建器中使用图形框错误是什么?你运行了什么代码?
回复:如何在 JMP 应用程序构建器中使用图形框你好克威尔登,
当我尝试这个时,我收到一个显示未知的错误弹出窗口。
回复:如何在 JMP 应用程序构建器中使用图形框你好@萨拉瓦纳,
是的,您需要将列的值存储在向量中。您可以使用 Col << Get Values 轻松做到这一点。
例如,您可以将此添加到我之前发送给您的 App Builder 脚本中:
//Open Big Class Data Table
dt = Open("$Sample_Data/Big Class.jmp");
//Store height and weight in vectors
x= dt:Height << Get Values;
y= dt:Weight << Get Values;
//Graph the points
gb << Set Graphics Script( Marker( x, y ) );
//Modify X and Y axis
gb << Set X Axis( {Min(50), Max(70), Inc(5)});
gb << Set Y Axis( {Min(60), Max(150), Inc(10)});这绘制了 Big Class 示例数据表的重量与高度。
回复:如何在 JMP 应用程序构建器中使用图形框嗨安德森,
我附上了我希望创建的应用程序的屏幕截图。
我附上了用于绘制图形的示例表和脚本。 但是我在运行时只得到空图。 我没有从表中获取值。




回复:如何在 JMP 应用程序构建器中使用图形框你能提供一个样本数据表或者你希望绘图看起来像什么的图形生成器中的原型吗?
米回复:如何在 JMP 应用程序构建器中使用图形框谢谢克威尔登为你回复,
但我的要求是,我应该在表格的两列中绘制数据。 比方说,在您的示例中,我应该能够使用表格中的 2 列绘制图形,而不是 X 和 Y。 (例如,我在数据表“详细信息”中将值 Level 和 Population 作为两列,我应该在 Level 和 Population 之间绘制)。
我尝试了与您的示例相同的方式,例如 Result Graph << Set Graphics Script (Marker(Level, Population));
但我无法得到图表。 我应该做些额外的事情来从表中获取数据吗?
回复:如何在 JMP 应用程序构建器中使用图形框学习编写图形框脚本有一点学习曲线。 您可以在脚本指南(帮助 > 书籍 > 脚本指南)中找到一个很好的指南。有一个名为“从头开始创建新图形”的部分讨论了 Graph Box()。脚本索引(也在帮助菜单中)中的“自定义图形”和“图形”条目详细说明了您可以在图形框中执行的操作。
与 JSL 中的任何内容一样,在 Application Builder 中有一百万种方法可以给这只猫蒙皮,但每种方法都很难弄清楚。脚本指南会告诉你可以这样写:
Graph Box(
Marker(
Marker State( 3 ),
[11 44 77],
[75 25 50]
)
)
这里的问题是,当您将图形框拖出到您的应用程序中时,您没有机会在此处编写图形脚本。你只有一张空白图表。 您必须在应用程序脚本中添加图形脚本。
这就是它变得棘手的地方。Graph Box实际上是一个容器盒,用于容纳构成图形的一堆显示框。绘图区域是一个框架框。您可以将图形脚本添加到脚本中的框架框,如下所示:
x = [80 50 20];
y = [20 50 80];
winref = (this module instance << Get Box);
winref[framebox( 1 )] << Add Graphics Script( Marker( x, y ) );
不过,如果您查看脚本索引中的“自定义图表”,您会发现一堆可以专门发送到图表框的消息。
例如,您可以将一个图形框拖出到您的应用程序中,假设您将其命名为“gb”。在该模块的脚本中,我可以使用以下脚本添加点:
gb << Set Graphics Script( Marker( x, y ) );
//or
gb << Append Seg( Marker Seg(x,y) );
这实际上向您展示了使用 Append Seg( Marker Seg()) 和 Set Graphics Script ( Marker()) 添加点的 2 种方法。我更喜欢“设置图形脚本”方法。我附上了一个示例,显示了 Application Builder 中的所有方法。
作为@txnelson指出,在 Graph Builder 或类似工具中创建这种图通常更容易。在 Application Builder 中,您应该会在左侧窗格的顶部看到所有打开的报告。然后您可以将现有的图形生成器报告拖到您的应用程序中。这里唯一的问题是,当应用程序启动以填充 Graph Builder 图时,它将从数据表中查找那些确切的列名。
回复:如何在 JMP 应用程序构建器中使用图形框我想加一秒钟@txnelson的评论。
App 开发器旨在让您能够利用 JMP 中的现有功能。 有趣的事实 - Dashboard Builder 只是位于 Application Builder 之上的皮肤,因此您可以在 Dashboard Builder 中生成的所有拖放报告生成也可以在 Application Builder 中完成。
除非您需要做一些非常具体的事情,否则我只会在 Graph Builder 中生成我想要的图,然后打开我的 Application Builder 源文件。 Graph Builder 应该显示在左侧窗格的顶部。 只需将它拖到 GUI 中您想要的位置,您就可以开始比赛了。 您仍然需要对代码进行参数化,但这比尝试从头开始破解自定义图形要容易得多。
最好的,
米
回复:如何在 JMP 应用程序构建器中使用图形框将图形添加到 JMP 应用程序中的典型方法是,首先使用 JMP 平台之一(即用 X 拟合 Y、分布等)以交互方式创建所需的图形或绘图,然后打开 App 开发器,您可以在其中然后将看到图形或绘图,然后您可以将其拖到您的应用程序中。然后,JMP 会将 JSL 提供到应用程序中。Application Builder 上的文档显示了有关其工作原理的示例。看
帮助==>书籍==>脚本指南
然后扫描 Application Builder
回复:如何在 JMP 应用程序生成器中使用图形框对于仪表板中的图形框,是否有设置将显示的数据点限制为本地数据过滤器的选择 - 或者用户是否必须通过以下方式控制它:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Data filter example",
H List Box(
Data Filter Context Box(
H List Box(
Data Filter Source Box(
df = dt << Data Filter(
Local,
Add Filter( columns( :name ), Where( :name == {"CLAY", "DANNY", "DAVID", "EDWARD"} ) )
)
),
dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
),
V List Box(
Graph Box(
X Scale( 50, 70 ),
Y Scale( 60, 200 ),
myValues = As List( dt[df <<GET filtered="" rows=""></GET>回复:如何在 JMP 应用程序生成器中使用图形框Dashboard Builder 和 Application Builder 中的框实际上并没有通过 JSL 支持的附加功能。