データフィルタでの選択に基づいて背景画像を変更する方法私は会議室を見つけるために私の建物のインタラクティブな地図を作成しようとしています。 私は会議室の名前でテーブルを作成し、それぞれにx座標とy座標を与えました。 "Fit Y by X"解析を作成し、私の間取り図の画像を背景にドラッグし、部屋名のデータフィルタを追加しました。 部屋名をクリックすると、x座標とy座標が地図に表示されます。 私の建物には複数の階がありますが、それ以外は完璧に機能します。 フロア付きのテーブルに列を追加しましたが、データフィルタに基づいて正しいフロア図面を表示することを除いて、同じことを行いたいと思います。 何か案は?対話的な説明が一番いいでしょう。
再:どのように私はデータフィルタの選択に基づいて背景画像を変えるのですか?再度、感謝します。 あなたは両方の点で正しいです。 とても近い!私はマップシェイプアドインを学び、そこで何ができるかを見ていきます。 HTMLでうまくいく可能性のある他のアイデアがあれば、教えてください。
再:どのように私はデータフィルタの選択に基づいて背景画像を変えるのですか?私が正しく理解していれば、2つのデータフィルタは必要ありません。ただ使用してください:
df = biv << Local Data Filter( Add Filter( columns( :name) ));
そして、'FrameBox(2)'のすべてのインスタンスを 'FrameBox(1)'に変更します。
'MakeFilterChangeHandler()'がすべての作業を実行するので、私はあなたががっかりするかもしれないことを恐れています、そして(私はチェックしませんでしたが)あなたがレポートをHTMLに移動するとき、これがうまくいくかどうか疑います。
再:どのように私はデータフィルタの選択に基づいて背景画像を変えるのですか?どうもありがとうございます。 これはうまくいったし、本当に期待している。あなたが使ったデータセットに基づいて、私が実際にやりたかったことは名前でフィルターをかけ、性別に基づいて写真を変更することでした。 私は2つのデータフィルタを追加することによってこれを行う方法を考え出したので、それで満足です。 私はJMPとスクリプト作成に慣れていないので、スクリプトをコピーしてサンプル写真を開くことができましたが、別の画像を開くための正しい構文がわかりません。 最後に、これをhtmlとして保存して、誰でも使用できるようにします。 それは異なる絵がどのように扱われる必要があるかを変えるでしょうか。
再:どのように私はデータフィルタの選択に基づいて背景画像を変えるのですか?これはそれをする一つの方法の仕組みを示しています。ローカルデータフィルタの現在の選択状態を取得する方法はありません(見逃していない限り)ので、これは少し間接的です。それで、これはフィルターされた行からそれを推論します。
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 );
再:どのように私はデータフィルタの選択に基づいて背景画像を変えるのですか?こんにちは @ fowled1 、コミュニティへようこそ!
私があなたが試みているものはかなりのスクリプティングを取るであろうと信じるが、それは楽しい挑戦のように思える。 聞きすぎない場合は、一緒に作業しているものを投稿できますか。