圖形標記的圖標你好,
我現在正在編寫一個儀表板,我想在其中為用戶提供一個標記符號的選擇,該標記符號將在圖表中使用,該圖表將從用戶的各種選擇中創建。
我想為選項列表中的每個元素添加一個圖標,顯示每個符號的外觀,就像我附加的小演示腳本一樣,我在列錶框中使用了一些標準圖標在左側來說明我的意思 - 但顯然我想用右側顯示的真實標記符號集替換它們。
使用 Built-In JMP Icons 插件快速搜索表明這 32 個符號不作為我可以按名稱訪問的預定義圖標存在,因此我假設我需要將每個符號單獨創建為一組我自己的圖標。 我可以很容易地做到這一點,但它可能會有點乏味 - 所以在我嘗試之前,任何人都可以建議一種更簡單的方法來解決這個問題嗎?
Clear Log();
Marker_List = {{" Dot", "WinHelpSearch"}, {" Square", "WinHelpAbout"}, {" Cross", "SearchIndex"},
{" Filled Triangle", "Gear"}, {" Asterisk", "ListItemUp"}, {" Diamond", "ListItemDown"}};
Marker_ListBox = List Box( Marker_List );
New Window( "Markers",
H List Box(
Panel Box( "Select a Marker Symbol", Marker_ListBox ),
// Marker_ListBox,
Panel Box( "All 32 Marker Symbols",
Graph Box(
FrameSize( 300, 300 ),
Y Scale( -1, 16 ),
X Scale( 0, 7 ),
For(
i = 0;
jj = 15;,
i < 16;
jj >= 0;,
i++;
jj--;, // 16 rows, 2 columns
Marker Size( 3 );
Marker( i, {1, jj + .2} ); // markers 0-15
Marker( i + 16, {4, jj + .2} ); // markers 16-31
Text( {1.5, jj}, "Marker ", i ); // marker labels 0-15
Text( {4.5, jj}, "Marker ", i + 16 ); // marker labels 16-31
)
)
)
)
);
非常感謝
回复:圖形標記的圖標嗨克雷奇 - 這是一個非常那裡的指導性腳本:在我正在做的事情的背景下,我可以看到類似這樣的東西的幾種用途!
非常感謝
回复:圖形標記的圖標看https://community.jmp.com/t5/JSL-Cookbook/Custom-Button-Icons/ta-p/50294 ,謝謝你的想法!
button iconsbutton icons按鈕圖標
回复:圖形標記的圖標巧妙!或者我可以完全放棄菜單的想法,只為用戶提供一個可能的標記網格以供選擇:基於附加腳本的東西可以做到這一點。
一個簡單的問題 - 我如何禁用滾動任一軸的功能(我仍然可以通過至少將鼠標懸停在 Y 軸上直到我看到“手”符號,然後向上或向下拖動該軸來做到這一點)而不實際抑制軸?我發現,如果我像您在示例中所做的那樣抑制軸,那麼我將失去定義低值和高值、增量和網格線的能力。
非常感謝 - 這非常有用。
Clear Log();
x0 = -1;
tb = Text Box( "Click on a Marker", <<JUSTIFY text=""> -0.5,
Fill Color( {0, 255, 255} );
Rect( {x0, y0}, {x0 + 1, y0 + 1}, 8 );
);
For( i = 0, i <= 7, i++,
For( j = 0, j <= 3, j++,
k = 4 * i + j;
Marker( k, {j + 0.5, 8 - (i + 0.5)} );
)
);
);
gb[AxisBox( 1 )] << Max( 8 );
gb[AxisBox( 2 )] << Max( 4 );
For( i = 1, i <= 2, i++,
gb[AxisBox( i )] << show major grid( 1 ) << Min( 0 ) << inc( 1 ) << show labels( 0 ) << show major ticks( 0 ) << remove axis label()
);
New Window( "Marker Selection Grid", Lineup Box( N Col( 1 ), gb, Border Box( tb, <<SIDES></SIDES></JUSTIFY>
回复:圖形標記的圖標您可以使用包含圖形框列框的表格框來顯示您的原始列錶框。下面是一些可以幫助您入門的代碼:
nw = new window("test markers",
tb = tablebox(
marker_cb = col box("",
graph box(
FrameSize( 10, 10 ), Y Scale( 0, 2 ), X Scale( 0, 2 ), suppressaxes(1),
marker(15, {1, 1}),
),
graph box(
FrameSize( 10, 10 ), Y Scale( 0, 2 ), X Scale( 0, 2 ), suppressaxes(1),
marker(16, {1, 1}),
)
),
stringcolbox("Marker",
{"15", "16"}
)
)
);
tb << set selectable rows(1);
