我创建了一个数据表,并使用 EventHandler 函数使其中一列在单击时超链接到网站。
我现在想做的是将这些数据放入图形生成器中,当单击这些点时,它们会打开与该行相关的网站。 这可能吗? 我已使用该列作为标签,但这不起作用,因为它不可单击。
我附上了一个小示例表,其中并排显示了数据表和图表,以及标记了 cloumn 的位置 - 我希望在图表中添加超链接的标签。

问候
大卫
事件处理程序是一个列属性,就像值标签或规格限制一样。您可以使用删除它们
dt:Column)with_EventHandler << delete property("event handler");你好特克斯尼尔森,
我可以知道如何使用 JSL 从列中删除事件处理程序吗?
两者都不
dt:Column_with_EventHandler << Remove Event Handler;
也不
dt:Column_with_EventHandler << Delete Event Handler;
似乎有效!
你能帮我吗?
谢谢并致以最诚挚的问候,
瓦莱里奥
尝试在 JMP 15.0 中打开表格并在图形生成器中创建散点图或任何其他可视化效果。
“链接”列的值将自动在悬停标签中显示为超链接 - 单击它即可启动相应的网页。
您还可以选择在数据表列中不使用表达式处理程序(以避免您所描述的问题),并通过利用称为 Gridlet 的新 JMP 15 功能,仅在图形生成器悬停标签中具有启动行为。 您甚至可以根据其他列值即时构建 URL。

欲了解更多详情,请查看https://www.jmp.com/content/dam/jmp/documents/en/support/jmp15/using-jmp.pdf ,第 532 页。
真的很好,我已经很期待 JMP v15 了。
只是对我的问题补充一点。 有没有办法让您单击数据表本身中的一行时无法打开链接? 如果我仍在继续分析数据,这可能会有点烦人。
否则,这是一个绝妙的解决方案。
下面是一个示例脚本,它使用 Make Row State Handler 来执行您想要的操作。它不需要您的事件处理程序,因此我将其删除。如果你愿意的话我可以留下来,但这不是必需的。
Names Default To Here( 1 );
dt = New Table( "click and Link",
Add Rows( 5 ),
New Script(
"where vs. Position",
Graph Builder(
Size( 522, 454 ),
Show Control Panel( 0 ),
Variables( X( :Position ), Y( :where ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
)
),
New Column( "Position",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4, 5] ),
Set Display Width( 56 )
),
New Column( "where",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [5, 4, 3, 2, 1] ),
Set Display Width( 48 )
),
New Column( "Link",
Character,
"Nominal",
Set Selected,
Set Values(
{"https://en.wikipedia.org/wiki/List_of_states_and_territories_of_the_United_States",
"https://www.bbc.co.uk/home/five/beta", "https://www.linkedin.com/feed/",
"https://www.marketwatch.com/story/10-things-britain-does-better-than-america-2016-04-06",
"http://www.astonmartin.com/en/configure"}
),
Set Display Width( 430 )
),
Set Label Columns( :Link )
);
f = Function( {a},
Show( dt );
If( N Rows( dt << get selected rows ) > 0,
Web( Char( dt:link[((dt << get selected rows)[1])] ) )
);
);
rs = dt << make rowstate handler( f );
Graph Builder(
Size( 522, 454 ),
Show Control Panel( 0 ),
Variables( X( :Position ), Y( :where ) ),
Elements( Points( X, Y, Legend( 6 ) ) )
);
这也可以通过将图形脚本添加到图表中的框架 box() 来完成。
gb = Graph Builder(
Size( 522, 454 ),
Show Control Panel( 0 ),
Variables( X( :Position ), Y( :where ) ),
Elements( Points( X, Y, Legend( 6 ) ) )
);
Report( gb )[FrameBox( 1 )] << add graphics script(
If( N Rows( dt << get selected rows ) > 0,
Web( Char( dt:link[((dt << get selected rows)[1])] ) )
)
);