使用 JSL 隱藏圖形中的“Where (...)”文本框你好,
是否可以使用腳本隱藏/刪除帶有Where(col =“x”)的文本行,如附圖所示? 我是 JMP 的新手,還沒有完全弄清楚所有的來龍去脈。
我有一組堆疊數據,其中所有代謝物/計數標籤(pH、滲透壓等)都在一列中,所有相應的數據都在另一列中。就我而言, where() 文本框是無關緊要的,因為我已經使用相同的標籤重命名了圖形標題。 當我在 JMP 中查看圖像時,我可以通過右鍵單擊來手動暫時隱藏文本框,但不確定如何使用 JSL 隱藏它並在導出到 html 時保持隱藏。
這是我的一個圖形的示例腳本:
Graph Builder(
Size( 531, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Step ),
Y( :Name( "BR Metabolite/Count Data" ) ),
Overlay( :Run )
),
Elements(
Line( X, Y, Legend( 1 ) ),
Points( X, Y, Legend( 2 ), Jitter Limit( 0.2018 ) )
),
Where( :Name( "Metabolite/Count" ) == "pH" ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "pH" ), Image Export Display( Normal )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "pH vs. Step" )}
),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "pH" )} )
)
);感謝您的幫助!
大規模定制回复:使用 JSL 隱藏圖形中的“Where (...)”文本框我在網上找到了非常巧妙的解決方案:)
dp = New Window("Graph Window", tb);
//delete all "Where" text on the chart
For( i = 1000, i > 0, i--,
try(
If( Contains( dp[Text Box( i )] << get text, "Where(:" ),
dp[Text Box( i )] << delete;
)
);
);希望這可以幫助
回复:使用 JSL 隱藏圖形中的“Where (...)”文本框這是處理它的一種方法
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
New Window( "big class - Graph Builder", vlb = V List Box() );
gb1 = Graph Builder(
invisible,
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 12 )
);
(Report( gb1 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb1 ) );
gb2 = Graph Builder(
invisible,
Variables( X( :weight ), Y( :height ) ),
Show Control Panel( 0 ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 13 )
);
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb2 ) );
gb3 = Graph Builder(
invisible,
Variables( X( :weight ), Y( :height ) ),
Show Control Panel( 0 ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 14 )
);
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb3 ) );
回复:使用 JSL 隱藏圖形中的“Where (...)”文本框不用擔心。 不管怎樣,感謝您的幫助。 我會亂搞一下,看看是否能找到一些工作。
正如我所說,我是 JMP 的新手,因此目前並不是所有內容都得到了非常有效的簡化。 我最初是直接在 vlistbox 中製作所有圖形,但不確定如何將您的代碼行合併到其中。 因此,我將所有數字從 vlistbox 中取出,並分別添加所有刪除行。
我最初使用的是 By 子句,但將報告添加到 Web 報告時遇到了幾個問題。 因此,我沒有將按組腳本保存到剪貼板,而是使用將腳本保存到腳本窗口(所有對象),如下例所示:
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
By( :Name( "Metabolite/Count" ) )
);
New Window( "PCstack - Graph Builder",
V List Box(
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "VCD at Split" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "Viability at Split" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "VCD at Inoc" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "PDL" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "PDT(h)" )
)
)
);
回复:使用 JSL 隱藏圖形中的“Where (...)”文本框如果沒有看到完整的腳本,就很難確定問題出在哪裡。我的另一個問題是,為什麼要在代碼中的單個點執行所有刪除操作,而不是在生成圖形的位置執行刪除代碼?或者您是否在代碼中使用 By 子句,這會將顯示樹結構更改為與單個獨立圖形完全不同的層次結構。
回复:使用 JSL 隱藏圖形中的“Where (...)”文本框感謝您的幫助。
它對於單個圖形效果很好,但現在不會將任何修改後的圖形添加到我的 vlistbox 中。 當我嘗試組合它們時,它總是吐出一個空白框。 我也嘗試了 <
(Report( gb1 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb3 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb4 ) << top parent)[Text Box( 1 )] << delete;
//(Report( gb5 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb6 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb7 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb8 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb9 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb10 ) << top parent)[Text Box( 1 )] << delete;
fig3 = expr(
New Window( "Production Bioreactor - Metabolites/Counts",
V List Box(gb1,gb2,gb3,gb4, gb6, gb7,gb8,gb9,gb10,gb11,gb12,gb13
)
));
回复:使用 JSL 隱藏圖形中的“Where (...)”文本框在這種情況下,使用<<刪除消息將影響您想要的更改,可能不會產生任何影響。 通過 << Visibility 消息可以進行更安全的更改。 使用 Collapse 參數使其不可見並且不節省其在窗口中的空間。
回复:使用 JSL 隱藏圖形中的“Where (...)”文本框這應該有效
gb = Graph Builder(
Size( 531, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Step ),
Y( :Name( "BR Metabolite/Count Data" ) ),
Overlay( :Run )
),
Elements(
Line( X, Y, Legend( 1 ) ),
Points( X, Y, Legend( 2 ), Jitter Limit( 0.2018 ) )
),
Where( :Name( "Metabolite/Count" ) == "pH" ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "pH" ), Image Export Display( Normal )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "pH vs. Step" )}
),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "pH" )} )
)
);
(Report( gb ) << top parent)[Text Box( 1 )] << delete;