鼠标悬停在数据点上以显示图像?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />有谁知道这是否可能?将鼠标悬停在数据点(如图表)上,然后在窗口或某种显示框中弹出 JPG/GIF 图像?
我知道并使用 <回复:鼠标悬停在数据点上以显示图像?
在 JMP 15.0 中,我们添加了一个称为 graphlet 的功能,它提供(除其他外)在悬停标签内按需显示图像的能力。 显示的图像以及单击它时发生的情况完全在用户的控制之下。 您可以轻松地从列、文件或基于图形上下文(例如图形的 X 和 Y 值)动态构建的 URL 中检索图像。 不需要在表中存储图像(尽管也支持)。
您可以在以下文件交换中看到此功能的实际应用
https://community.jmp.com/t5/JMP-Scripts/WikiReader-Augmenting-Hover-Labels-with-web-data-and-images/ta-p/237488
有关 graphlet 的更多信息,请查看https://www.jmp.com/content/dam/jmp/documents/en/support/jmp15/using-jmp.pdf , 第 512 页。
回复:鼠标悬停在数据点上以显示图像?谢谢
回复:鼠标悬停在数据点上以显示图像?是的,上面的脚本利用了我认为直到 JMP 12 才引入的表达式列。
回复:鼠标悬停在数据点上以显示图像?您好,我尝试运行此脚本,但在“表格1 :图片[ 1个] = p ; " 表示列类型不匹配。 是那因为我使用 JMP 10?
回复:鼠标悬停在数据点上以显示图像?再次感谢。 现在一切都像魅力一样!
回复:鼠标悬停在数据点上以显示图像?见帖子捕鼠器和双变量框框因为当我有完全相同的问题时。
回复:鼠标悬停在数据点上以显示图像?谢谢! 这正是我所需要的。 jmp 的功能令人惊叹。
然而,虽然如果我点击它现在会显示芯片的图片,但我想知道为什么地图中的数据点(芯片)不再被标记/选择。 但话又说回来,这真的没有必要......
谢谢!
回复:鼠标悬停在数据点上以显示图像?MouseTrap 需要应用于框架框。图形生成器是一个非常复杂的显示,其中包括一个框框。
窗户=新窗户( “晶圆图” ,
国标=数据表( 《数据表晶圆图》 ) <<图形生成器(
变量( X ( : POSX ) ,是( :铭文) ,颜色( :价值) ) ,
元素(积分( X ,是,传奇( 9 ) ) ) ,
) ;
) ;
RGB =国标<<报告;
RGB [框框( 1个)] <<添加图形脚本(捕鼠器(打印( “测试” ))) ;
回复:鼠标悬停在数据点上以显示图像?谢谢 Ian 和 msharp。 我将尝试几种方法,看看哪种解决方案最适合我们。 MouseTrap() 函数绝对有用,但我也会尝试隐藏图像列并检查我们是否真的受到速度或内存的限制。
编辑:我很难将 MouseTrap() 函数添加到 Graph Builder。 我一直在寻找这样的解决方案:
exx = 20;
执行= 50;
window = New Window( "晶圆图",
gb = Data Table("Data Table Wafer Map") << Graph Builder(
变量( X( :PosX ), Y( :PosY ), 颜色( :Value ) ),
元素(点(X,Y,图例(9))),
捕鼠器(
exx = X( :PosX );
exy = Y( :PosY );
显示(exx);
,
显示(exy);
)
);
);
坦率地说,我在插入 MouseTrap() 函数时只是在猜测,但我没有找到任何有关 Graph Builder 和 MouseTrap 组合使用的信息。
是否可以将 MouseTrap() 函数与 Graph Builder 一起使用?
回复:鼠标悬停在数据点上以显示图像?我相信简短的回答是否定的。与图形交互时,悬停功能不多。
如果用户“单击”该点,则有多个选项,例如 mousetrap(),它与图形框中的用户单击、拖动等交互。您还可以使用行状态处理程序,它会在用户与数据表交互时运行脚本。 例如,选择图表中的一个点也会选择数据表行,然后您的处理程序可以使用它来运行脚本。他们都有自己的优点和缺点。
无论如何,如果记忆是唯一的问题,您应该考虑 Ian 的简单隐藏数据表和/或列的解决方案。如果您担心速度,即。生成图像/将图像文件加载到每个单元格所花费的时间,我只建议压缩数据表。您的用户是否需要查看大表中的图像?您能否对数据进行子集化以生成更小的数据集供用户交互?
回复:鼠标悬停在数据点上以显示图像?虽然我没有检查,但我想表达式列中的“空”单元格几乎没有开销。 如果需要,您可以隐藏此列,或使表格不可见。
但如果您不喜欢这种方法,请查看“帮助”>“脚本索引”中的“MouseTrap()”和“IsCommandKey()”
回复:鼠标悬停在数据点上以显示图像?你好,
这个例子对我来说很好,但我对不同的解决方案感兴趣。 问题是,我宁愿不喜欢用图片填充每一行,因为这会在大数据表中消耗大量内存。 考虑到这一点,我的问题是,当鼠标悬停在数据点上方时,是否可以在表达式列中执行一些代码? 然后该点的X和Y位置可以作为表达式栏中的参数来打开合适的图片。
这可能吗?
非常感谢!
回复:鼠标悬停在数据点上以显示图像?对的,这是可能的。 最简单的方法是简单地添加一列图片并为该列指定标签属性。请参阅下面的示例。
Names Default to Here(1);table1 = New Table( "one", Add Rows( 1 ), New Column( "pic", Expression, Set Values( {Empty()} ) ));// make random imaged = J(25,50,rgbcolor(randomuniform(),randomuniform(),randomuniform()));p = newimage(d);// store in table1table1:pic[1] = p;// make a new tabletable2 = New Table( "two", Add Rows( 1 ), New Column( "pic", Expression, Set Values( {Empty()} ) ));// put two copies in table 2, from table 1table2:pic[1] = table1:pic[1];table2<table2:pic[2] = table1:pic[1];//Add X/Y columnstable2 << New Column("X", Numeric, Continous, Set Values({1,2}));table2 << New Column("Y", Numeric, Continous, Set Values({2,1}));//label pic columntable2:pic << Label;//open bivariate analysisbiv = table2 << Bivariate( Y( :Y ), X( :X ) );以下脚本改编自 Craige 的代码回复:JMP_12:将 JSL 表达式直接嵌入到一行中如果您想知道它还在做什么。