如何根据数据过滤器中的选择更改背景图片?我正在创建一个我的建筑的互动地图,以找到会议室。 我创建了一个包含会议室名称的表格,并为每个人提供了x和y坐标。 我创建了一个“Fit Y by X”分析,将我的平面图的图像拖到背景中,并为房间名称添加了数据过滤器。 单击房间名称,地图上将显示x和y坐标。 它的工作完美,但我的建筑有多层。 我已经在地板上添加了一个列,现在我想做同样的事情,除了根据数据过滤器显示正确的楼层平面图。 有任何想法吗?交互式解释是最好的。
Re:如何根据数据过滤器中的选择更改背景图片?再次感谢。 你对这两点都是正确的。 很近!!!我将做一些学习地图形状加载项的工作,看看我能在那里完成什么。 如果您有任何其他可能适用于HTML的想法,请告诉我们。
Re:如何根据数据过滤器中的选择更改背景图片?如果我理解正确,您不需要两个数据过滤器。只需使用:
df = biv << Local Data Filter( Add Filter( columns( :name) ));
并将'FrameBox(2)'的所有实例更改为'FrameBox(1)'。
但我担心你可能会失望 - 'MakeFilterChangeHandler()'做了所有的工作,并且(虽然我没有检查)我怀疑当你将报告移动到HTML时这会起作用。
Re:如何根据数据过滤器中的选择更改背景图片?非常感谢。 这工作,真的让我充满希望。根据您使用的数据集,我实际想要做的是按名称过滤并根据性别更改图片。 我想通过添加两个数据过滤器来做到这一点,所以我很满意。 我是JMP和脚本的新手,所以当我复制你的脚本并且它打开样本图片时,我不知道打开不同图片的正确语法是什么。 最后,我想将其保存为html,以便任何人都可以使用它。 这是否会改变不同图片的处理方式。
Re:如何根据数据过滤器中的选择更改背景图片?这显示了一种方法的机制。它有点间接,因为(除非我错过了),无法获得本地数据过滤器的当前选择状态。所以这从过滤的行中推断出来。
NamesDefaultToHere(1);
// Open a table and do Bivariate
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate(X(:height), Y(:weight));
// Add a local data filter (:sex plays the role of floor . . . )
df = biv << Local Data Filter( Add Filter( columns( :sex ) ));
// Get the title of the window
win = (biv << Report) << GetWindowTitle;
// Define a function that will update the background image on the Bivariate plot
f = Function( {a},
// Infer what value of :sex is currenly selected in the data filter
levRows = df << getFilteredRows;
lev = Column(dt, "sex")[levRows];
lev = lev[1];
Speak(lev);
// (Try to) remove an image that might already be there
Try(
imgSeg = Window(win)[FrameBox(2)] << FindSeg( PictSeg( 1 ) );
imgSeg << Remove;
);
// Add the 'corresponding' image
if(
lev == "M",
Window(win)[FrameBox(2)] << Add Image(Open("$SAMPLE_IMAGES/tile.jpg"), FillGraph),
lev == "F",
Window(win)[FrameBox(2)] << Add Image(Open("$SAMPLE_IMAGES/progress.gif"), FillGraph)
);
);
// Add a handler to the data filter so that when the user makes a selection the function 'f' is called
rs = df << Make Filter Change Handler( f );
Re:如何根据数据过滤器中的选择更改背景图片?你好 @ fowled1 ,欢迎来到社区!
我相信你所尝试的内容会带来很多脚本,但这听起来像是一个有趣的挑战。 如果问的不是太多,你可以发布你正在使用的内容吗?