地圖背景大家好,
我有一個包含幾張圖像的文件夾。 我通過一張一張地拖動圖像來將相應的圖像放置在地圖的背景中(在圖形生成器工具中)。 我希望能夠使用 JMP 工具(JSL 腳本、列選擇器...)以交互方式執行此操作。
也就是說,根據用戶的選擇並使用上述文件夾中的圖像來修改底圖。
例如,以下是手動拖動圖像時地圖背景中的圖像的樣子:

感謝您的幫助 !
數據探索和可視化回复:點菜使用“將圖像添加到框架框”應該可以
Names Default To Here(1);
folder_of_interest = Convert File Path("$SAMPLE_IMAGES");
filenames = Files In Directory(folder_of_interest);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
swap_img = Expr(
frame = Report(gb)[FrameBox(1)];
Try(
cur_img = frame << FindSeg(PictSeg(1));
cur_img << Remove;
);
img = New Image(folder_of_interest || cur_file);
frame << Add Image(
Image(img),
bounds(top(90), Left(10), bottom(10), Right(90))
);
);
nw = new window("",
H List Box(
rb = Radio Box(filenames, << Set Function(function({this},
cur_file = (this << get selected);
swap_img;
))),
gb = dt << Graph Builder(
Size(528, 456),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(3)))
);
)
);回复:底圖感謝你的回复@jthi 。
一方面,我確實在頁面左側獲得了所有不同的圖像,我可以在其中選擇要選擇的圖像。
當我選擇圖像時,收到以下錯誤消息:

回复:點菜使用 JMP17 時腳本確實對我有用

回复:底圖謝謝,它工作正常,我忘記了路徑的其餘部分。
但是,為了用正確的尺寸很好地表示圖像,我必須使用“圖像”-->“大小/比例”-->“填充圖形”選項。
是否有一個選項可以自動執行此操作,還是我每次都必須手動執行此操作?
感謝你的回复 !
回复:點菜腳本索引通常非常適合查找解決方案(您可以使用與 JMP 菜單相同的關鍵字或其中的一部分)

回复:底圖我使用此腳本來創建圖形生成器,我嘗試集成“填充圖形”選項,但沒有任何結論,它無法正常工作。
Names Default To Here(1);
folder_of_interest = Convert File Path("image");
filenames = Files In Directory(folder_of_interest);
dt = current data table();
swap_img = Expr(
frame = Report(gb)[FrameBox(1)];
Try(
cur_img = frame << FindSeg(PictSeg(1));
cur_img << remove;
wait ( 1 );
cur_img << fill graph;
);
img = New Image(folder_of_interest || cur_file);
frame << Add Image(
Image(img),
bounds(frame << fill graph);
);
);
nw = new window("Image référence vs défauts",
H List Box(
rb = Radio Box(filenames, << Set Function(function({this},
cur_file = (this << get selected);
swap_img;
))),
gb = dt << Graph Builder(
Size( 567, 494 ),
Show Control Panel( 0 ),
Variables( X( :COORDXD ), Y( :COORDYD ) ),
Elements( Points( X, Y, Legend( 6 ) ) ),
Local Data Filter(
Add Filter(
columns( :NUMP, :NUMIMAGE ),
Where( :NUMP == "x" ),
Where( :NUMIMAGE == x ),
Display( :NUMP, N Items( 15 ), Find( Set Text( "" ) ) ),
Display( :NUMIMAGE, N Items( 15 ) )
)
),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
6,
Properties( 0, {Line Color( 51 )}, Item ID( "COORDYD", 1 ) )
)}
)
)
);
)
);
回复:點菜設置圖像後,您需要引用 PictSeg,然後在其上使用填充圖。
回覆:底圖早安,
在左側可供選擇的圖像清單中,我有很多選擇。
是否可以更改顯示格式並有一個下拉列表,我們可以在其中搜尋要在後台顯示的圖像?
如下:

謝謝您的回答。
回覆:底圖取決於您的使用者介面。您也許可以使用本機資料過濾器,或者可以編寫自己的搜尋框(使用文字編輯框),然後可以將其與列錶框一起使用以顯示項目。
回覆:底圖感謝你的回覆。
我嘗試使用列錶框,但我不知道將其整合到腳本中的何處
Names Default To Here(1);
Clear Log();
folder_of_interest = Convert File Path("$SAMPLE_IMAGES");
filenames = Files In Directory(folder_of_interest);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
swap_img = Expr(
frame = Report(gb)[FrameBox(1)];
Try(
cur_img = frame << FindSeg(PictSeg(1));
cur_img << Remove;
);
img = New Image(folder_of_interest || cur_file);
frame << Add Image(
Image(img),
bounds(top(90), Left(10), bottom(10), Right(90))
);
);
nw = new window("",
H List Box(
rb = Radio Box(filenames, << Set Function(function({this},
cur_file = (this << get selected);
swap_img;
))),
gb = dt << Graph Builder(
Size(528, 456),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(3)))
);
)
);
回覆:底圖您可以用列錶框取代單選框。如果您需要搜尋功能,則必須自行編寫,因為 ListBox 預設沒有該功能
看更多...
Names Default To Here(1);
Clear Log();
folder_of_interest = Convert File Path("$SAMPLE_IMAGES");
filenames = Files In Directory(folder_of_interest);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
swap_img = Expr(
frame = Report(gb)[FrameBox(1)];
Try(
cur_img = frame << FindSeg(PictSeg(1));
cur_img << Remove;
);
img = New Image(folder_of_interest || cur_file);
frame << Add Image(
Image(img)
);
seg = frame << FindSeg(PictSeg(1));
seg << fill graph;
seg << Lock(1);
);
nw = new window("",
H List Box(
rb = List Box(filenames, << Set Max Selected(1), << Set Function(function({this},
cur_file = (this << get selected)[1];
swap_img;
))),
gb = dt << Graph Builder(
Size(528, 456),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(3)))
);
)
);
回覆:底圖大家好,
使用此腳本,我在圖表生成器中獲取互動式背景圖像。
我希望能夠阻止圖像並為每個圖像製作等距尺寸。
我預設使用“ lock(1) ”和“ size to isometric ”功能,但這僅在我處理單張照片時有效,一旦我們修改了照片的選擇,我就無法概括所有圖像的功能圖形生成器的背景功能不再有效。
我們該如何解決這個問題呢?
謝謝您的回答。
回覆:底圖我不太確定你遇到了什麼問題。您想設定什麼類型的圖像?它們應該如何在你的圖表中對齊?他們應該填滿整個圖表嗎?它們有具體的界線嗎?
看更多...
Names Default To Here(1);
Clear Log();
folder_of_interest = Convert File Path("$SAMPLE_IMAGES");
filenames = Files In Directory(folder_of_interest);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
swap_img = Expr(
Try(
cur_img = frame << FindSeg(PictSeg(1));
cur_img << Remove;
);
img = New Image(folder_of_interest || cur_file);
frame << Add Image(
Image(img)
);
seg = frame << FindSeg(PictSeg(1));
seg << fill graph;
// seg << bounds(Left(0), Right(100), top(100), bottom(0));
// {l, r, t, b} = seg << getBounds;
seg << Lock(1);
);
nw = new window("",
H List Box(
rb = List Box(filenames, << Set Max Selected(1), << Set Function(function({this},
cur_file = (this << get selected)[1];
swap_img;
))),
gb = dt << Graph Builder(
Size(528, 456),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(3)))
);
)
);
frame = Report(gb)[FrameBox(1)];
frame << Size to Isometric(1);